App-Leiste einrichten

Funktion „Schreiben“ ausprobieren
Jetpack Compose ist das empfohlene UI-Toolkit für Android. Informationen zum Hinzufügen von Komponenten in Compose.

In der einfachsten Form zeigt die Aktionsleiste auf der einen Seite den Titel der Aktivität und auf der anderen Seite ein Dreipunkt-Menü an. Selbst in dieser einfachen Form bietet die App-Leiste den Nutzern nützliche Informationen und verleiht Android-Apps ein einheitliches Erscheinungsbild.

Ein Bild, das die App-Leiste in der App „Now in Android“ zeigt
Abbildung 1: Eine App-Leiste mit einem Aktionssymbol in der App „Now in Android“.

Alle Aktivitäten, die das Standarddesign verwenden, haben ein ActionBar als App-Leiste. Der nativen ActionBar werden in verschiedenen Android-Releases Funktionen für die App-Leiste hinzugefügt. Daher verhält sich das native ActionBar-Objekt je nach Android-Version unterschiedlich.

Andererseits werden der Version von Toolbar der AndroidX AppCompat-Bibliothek Funktionen hinzugefügt, was bedeutet, dass diese Funktionen auf Geräten verfügbar sind, die die AndroidX-Bibliotheken verwenden.

Aus diesem Grund kannst du die Toolbar-Klasse der AndroidX-Bibliothek verwenden, um die App-Leisten deiner Aktivitäten zu implementieren. Wenn Sie die Symbolleiste der AndroidX-Bibliothek verwenden, ist das Verhalten Ihrer App auf den meisten Geräten einheitlich.

Symbolleiste einer Aktivität hinzufügen

In diesen Schritten wird beschrieben, wie Sie ein Toolbar als App-Leiste für Ihre Aktivität einrichten:
  1. Fügen Sie Ihrem Projekt die AndroidX-Bibliothek hinzu, wie unter AndroidX-Übersicht beschrieben.
  2. Achten Sie darauf, dass die Aktivität AppCompatActivity erweitert:

    Kotlin

    class MyActivity : AppCompatActivity() {
      // ...
    }
    

    Java

    public class MyActivity extends AppCompatActivity {
      // ...
    }
    
  3. Legen Sie im App-Manifest das Element <application> so fest, dass eines der NoActionBar-Designs von AppCompat verwendet wird, wie im folgenden Beispiel gezeigt. Bei Verwendung eines dieser Designs wird verhindert, dass die App die native ActionBar-Klasse verwendet, um die App-Leiste bereitzustellen.
    <application
        android:theme="@style/Theme.AppCompat.Light.NoActionBar"
        />
    
  4. Fügen Sie dem Layout der Aktivität ein Toolbar hinzu. Mit dem folgenden Layoutcode wird beispielsweise ein Toolbar-Element hinzugefügt. Es sieht dann so aus, als würde es über der Aktivität schwebend erscheinen:
    <androidx.appcompat.widget.Toolbar
       android:id="@+id/my_toolbar"
       android:layout_width="match_parent"
       android:layout_height="?attr/actionBarSize"
       android:background="?attr/colorPrimary"
       android:elevation="4dp"
       android:theme="@style/ThemeOverlay.AppCompat.ActionBar"
       app:popupTheme="@style/ThemeOverlay.AppCompat.Light"/>
    

    Empfehlungen zur Elevation der App-Leiste finden Sie in der Material Design-Spezifikation.

    Positionieren Sie die Symbolleiste oben im Layout der Aktivität, da Sie sie als App-Leiste verwenden.

  5. Rufen Sie in der Methode onCreate() der Aktivität die Methode setSupportActionBar() auf und übergeben Sie die Symbolleiste der Aktivität, wie im folgenden Beispiel gezeigt. Bei dieser Methode wird die Symbolleiste als App-Leiste für die Aktivität festgelegt.

    Kotlin

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_my)
        // The Toolbar defined in the layout has the id "my_toolbar".
        setSupportActionBar(findViewById(R.id.my_toolbar))
    }
    

    Java

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_my);
        Toolbar myToolbar = (Toolbar) findViewById(R.id.my_toolbar);
        setSupportActionBar(myToolbar);
    }
    

Ihre App verfügt jetzt über eine grundlegende Aktionsleiste. Standardmäßig enthält die Aktionsleiste den Namen der App und ein Dreipunkt-Menü, das zuerst das Element Einstellungen enthält. Sie können der Aktionsleiste und dem Dreipunkt-Menü weitere Aktionen hinzufügen, wie unter Aktionen hinzufügen und verarbeiten beschrieben.

App-Leisten-Dienstprogrammmethoden verwenden

Nachdem Sie die Symbolleiste als App-Leiste einer Aktivität festgelegt haben, haben Sie Zugriff auf die Dienstprogrammmethoden, die von der Klasse ActionBar der AndroidX-Bibliothek bereitgestellt werden. Auf diese Weise können Sie nützliche Dinge tun, z. B. die App-Leiste ein- und ausblenden.

Wenn Sie die ActionBar-Dienstprogrammmethoden verwenden möchten, rufen Sie die Methode getSupportActionBar() der Aktivität auf. Diese Methode gibt einen Verweis auf ein AppCompat-ActionBar-Objekt zurück. Sobald Sie diesen Verweis haben, können Sie eine der ActionBar-Methoden aufrufen, um die App-Leiste anzupassen. Wenn Sie beispielsweise die App-Leiste ausblenden möchten, rufen Sie ActionBar.hide() auf.