App-Leiste einrichten

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

In ihrer einfachsten Form enthält die Aktionsleiste auf der einen Seite den Titel der Aktivität und auf der anderen Seite ein Dreipunkt-Menü. Selbst in dieser grundlegenden Form bietet die App-Leiste den Nutzern nützliche Informationen und sorgt für ein einheitliches Erscheinungsbild von Android-Apps.

Ein Bild, das die App-Leiste in der Now-App für Android zeigt
Abbildung 1. Eine App-Leiste mit einem Aktionssymbol in der App „Jetzt bei Android“.

Alle Aktivitäten, für die das Standarddesign verwendet wird, haben die Schaltfläche ActionBar als App-Symbol. Die App-Leiste wird in verschiedenen Android-Releases um Funktionen erweitert.ActionBar Daher verhält sich die native ActionBar je nach Android-Version des Geräts unterschiedlich.

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

Verwenden Sie dazu die Toolbar-Klasse der AndroidX-Bibliothek, um die App-Bars Ihrer Aktivitäten zu implementieren. Mit der Symbolleiste der AndroidX-Bibliothek können Sie das Verhalten Ihrer App auf möglichst vielen Geräten einheitlich gestalten.

Aktivitäten eine Symbolleiste hinzufügen

In den folgenden Schritten wird beschrieben, wie Sie eine Toolbar als App-Leiste für Ihre Aktivität einrichten:
  1. Fügen Sie Ihrem Projekt die AndroidX-Bibliothek hinzu, wie in der AndroidX-Übersicht beschrieben.
  2. Achten Sie darauf, dass die Aktivität AppCompatActivity umfasst:

    Kotlin

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

    Java

    public class MyActivity extends AppCompatActivity {
      // ...
    }
  3. Legen Sie im App-Manifest für das Element <application> eines der NoActionBar-Designs von AppCompat fest, wie im folgenden Beispiel gezeigt. Wenn Sie eines dieser Themen verwenden, kann die App die native ActionBar-Klasse nicht für die App-Leiste verwenden.
    <application
        android:theme="@style/Theme.AppCompat.Light.NoActionBar"
        />
  4. Fügen Sie dem Layout der Aktivität ein Toolbar hinzu. Im folgenden Layoutcode wird beispielsweise ein Toolbar hinzugefügt, das so erscheint, als würde es über der Aktivität schweben:
    <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 Erhöhung 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 onCreate()-Methode der Aktivität die setSupportActionBar()-Methode der Aktivität auf und übergeben Sie die Symbolleiste der Aktivität, wie im folgenden Beispiel gezeigt. Mit 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 hat jetzt eine einfache Aktionsleiste. Standardmäßig enthält die Aktionsleiste den Namen der App und ein Dreipunkt-Menü, das anfangs den Eintrag Einstellungen enthält. Sie können der Aktionsleiste und dem Überlaufmenü weitere Aktionen hinzufügen, wie unter Aktionen hinzufügen und verarbeiten beschrieben.

Dienstprogrammmethoden für die App-Leiste 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. So können Sie beispielsweise die App-Leiste ausblenden und einblenden.

Wenn Sie die ActionBar-Dienstprogrammmethoden verwenden möchten, rufen Sie die Methode getSupportActionBar() der Aktivität auf. Diese Methode gibt einen Verweis auf ein ActionBar-Objekt von AppCompat zurück. Sobald Sie diese Referenz 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.