wake-up-neo.com

Wie ändere ich den Titel und das Symbol der Android-Aktionsleiste?

Ich versuche einige Dinge auf der ActionBar in Android zu tun.

Ich habe bereits neue Elemente auf der rechten Seite der Aktionsleiste hinzugefügt.

Wie kann ich die linke Seite der Aktionsleiste ändern? Ich möchte das Symbol und den Text ändern und in der Aktionsleiste für die anderen Bildschirme einen "Zurück-Button" hinzufügen

Android Action Bar

206
Allan Ramírez

Dies ist sehr einfach zu bewerkstelligen

Wenn Sie den Code ändern möchten, rufen Sie Folgendes an:

setTitle("My new title");
getActionBar().setIcon(R.drawable.my_icon);

Und stell die Werte auf was auch immer du magst.

Oder in der Android-Manifest-XML-Datei:

<activity Android:name=".MyActivity" 
       Android:icon="@drawable/my_icon" 
       Android:label="My new title" />  

So aktivieren Sie den Zurück-Button in Ihrer App:

 getActionBar().setHomeButtonEnabled(true);
 getActionBar().setDisplayHomeAsUpEnabled(true);

Der Code sollte sich alle in Ihrer onCreate befinden, sodass die Änderung der Beschriftung/des Symbols für den Benutzer transparent ist. In Wirklichkeit kann er jedoch während des gesamten Lebenszyklus der Aktivität aufgerufen werden.

486
dymmeh

Um ein einzelnes Symbol für alle Aktionsleisten nutzbar zu machen, können Sie dies in Ihrem Android-Manifest tun.

<application
    Android:logo="@drawable/Image">

    ...

</application>
16
Akshat Agarwal

Sie müssen nur diese 3 Codezeilen hinzufügen. Ersetzen Sie das Symbol durch Ihr eigenes Symbol. Wenn Sie Symbole erzeugen möchten, verwenden Sie this

getSupportActionBar().setHomeAsUpIndicator(R.drawable.icon_back_arrow);
getActionBar().setHomeButtonEnabled(true);
getActionBar().setDisplayHomeAsUpEnabled(true);
9
Sagar Devanga

Wenn Sie den Titel der Aktionsleiste ändern möchten, geben Sie einfach den folgenden Code für 1 Zeile in onCreate () Ihrer Aktivität ein 

getActionBar().setTitle("Test");
9
Jabbir Basha

In Android 5.0 halten die Richtlinien für Materialdesign die Verwendung von icon in actionBar ab

um es zu aktivieren, fügen Sie den folgenden Code hinzu

getSupportActionBar().setDisplayShowHomeEnabled(true);
getSupportActionBar().setLogo(R.mipmap.ic_launcher);
getSupportActionBar().setDisplayUseLogoEnabled(true);

kredit geht an den Autor dieses Artikels

7
Azzy

Sie können das Symbol in Ihrem Ordner ändern, indem Sie den gewünschten Zeichenordnern das gewünschte Symbol hinzufügen und diese Zeile in der Datei AndroidManifest.xml ändern:

Android:icon="@drawable/ic_launcher"

um mit dem Namen Ihres Symbols übereinzustimmen. Oder setzen Sie Ihr Icon als ic_launcher, wenn es sich um dasselbe Icon handelt. Fügen Sie alle Zeichenfolgen hinzu, die mit denen in Ihrer Datei res/values ​​/ strings.xml übereinstimmen. Ändern Sie dann erneut in Ihrer AndroidManifest.xml-Datei diese Zeile:

Android:label="@string/app_name"

zu was auch immer die Saite in ihrem. Sie müssen dies für die gesamte Anwendung und für die gewünschten Aktivitäten tun, aber die Zeilen sind die gleichen.

Hoffe das hilft.

6
RobStemen

Dafür gibt es zwei Möglichkeiten: XML oder Java. Siehe hier: So ändern Sie den Text in der Aktionsleiste

So:

XML: 

<activity Android:name=".Hello_World"
              Android:label="This is the Hello World Application">
</activity>

Java:

public class TitleBar extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
       super.onCreate(savedInstanceState);

       final boolean customTitleSupported = requestWindowFeature(Window.FEATURE_CUSTOM_TITLE);

       setContentView(R.layout.main);


       if ( customTitleSupported ) {
           getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.titlebar);
           }

       final TextView myTitleText = (TextView) findViewById(R.id.myTitle);
       if ( myTitleText != null ) {
           myTitleText.setText("NEW TITLE");

           // user can also set color using "Color" and then "Color value constant"
          // myTitleText.setBackgroundColor(Color.GREEN);
       }
 }
}
5
Miloš

Für gesetzten Titel

getActionBar().setTitle("Title");

Für gesetztes Symbol

getActionBar().setIcon(R.drawable.YOUR_ICON_NAME);
3
ActionBar actionBar = getSupportActionBar();
actionBar.setTitle(getString(R.string.titolo));
actionBar.setIcon(R.mipmap.ic_launcher);
actionBar.setDisplayShowHomeEnabled(true);
3

Ich habe den folgenden Aufruf in onNavigationItemSelected verwendet:

HomeActivity.this.setTitle(item.getTitle());
2
AmandaHLA

Fügen Sie den folgenden Code innerhalb einer onCreate-Funktion in Ihre Aktivität ein.

setTitle("NewName");
1
Chandrahasa Rai

Gehen Sie zum Manifest, in dem Sie die Aktivität ändern möchten. Aktionsleiste Titelname und schreiben Sie Android: label = "Titelname" 

0

Diese Arbeit für mich:

getActionBar().setHomeButtonEnabled(true);
getActionBar().setDisplayHomeAsUpEnabled(true);
getActionBar().setHomeAsUpIndicator(R.mipmap.baseline_dehaze_white_24);
0
Ram Chhabra

Der Titel der Aktionsleiste verwendet standardmäßig die Bezeichnung der aktuellen Aktivität. Sie können sie jedoch auch programmgesteuert über ActionBar.setTitle() einstellen.

Lesen Sie den Abschnitt "Verwenden des App-Symbols für die Navigation" im Action Bar-Entwicklerhandbuch , um die Tastenfunktionalität "Zurück" (genauer "Up") zu implementieren.

Um das Symbol zu ändern, behandelt das Handbuch auch das. Kurz gesagt, die Aktionsleiste zeigt das in Android:icon gelieferte Bild im application- oder activity-Element Ihres Manifests an, sofern vorhanden. In der Regel wird ein Anwendungssymbol (in allen erforderlichen Dichten) mit dem Namen ic_launcher.png erstellt und in den drawable-*-Verzeichnissen abgelegt.

0
CloudyMusic

Gehen Sie zu AndroidManifest.xml file. <application>-Tag suchen Dort können Sie ein Attribut sehen

Android:label="@string/app_name"

Gehen Sie nun zu res> values> strings.xml

Ändere das

<string name="app_name">MainActivity</string> 

zu

<string name="app_name">Your Desired Name</string>

Beispiel

AndroidManifest.xml

<application
        Android:allowBackup="true"
        Android:icon="@mipmap/ic_launcher"
        Android:label="@string/app_name"
        Android:roundIcon="@mipmap/ic_launcher_round"
        Android:supportsRtl="true"
        Android:theme="@style/AppTheme">
        <activity
            Android:name=".MainActivity"
            >
            <intent-filter>
                <action Android:name="Android.intent.action.MAIN" />

                <category Android:name="Android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity Android:name=".SubmitForm">

        </activity>
    </application>

strings.xml

<resources>
    <string name="app_name">Your Desired Name</string>
    <string name="action_settings">Settings</string>
</resources>
0
Kartik ganiga

Ich habe non-static method setTitle(CharSequence) cannot be referenced from a static context Fehler erhalten, weil ich setTitle() in der statischen Klasse PlaceholderFragment verwendet habe. Ich habe es mit getActivity().getActionBar().setTitle("new title"); gelöst.

0
user4757345