App-Leiste einrichten

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

In ihrer einfachsten Form zeigt die Aktionsleiste auf einer Seite den Titel für die Aktivität und auf der anderen Seite ein Überlaufmenü an. Auch in dieser einfachen Form bietet die App-Leiste Nutzern nützliche Informationen und sorgt für ein einheitliches Erscheinungsbild von Android-Apps.

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

Alle Aktivitäten, für die das Standarddesign verwendet wird, haben eine ActionBar als App-Leiste. Die Funktionen der App-Leiste werden im Laufe der verschiedenen Android-Releases in die native ActionBar aufgenommen. Daher verhält sich die native ActionBar je nach Android-Version des Geräts unterschiedlich.

Andererseits werden der AndroidX AppCompat-Bibliotheksversion von Toolbar Funktionen hinzugefügt, die dann auf Geräten verfügbar sind, auf denen die AndroidX-Bibliotheken verwendet werden.

Verwenden Sie daher die Toolbar-Klasse der AndroidX-Bibliothek, um die App-Leisten Ihrer Aktivitäten zu implementieren. Wenn Sie die Symbolleiste der AndroidX-Bibliothek verwenden, verhält sich Ihre App auf den meisten Geräten einheitlich.

Einer Aktivität eine Symbolleiste hinzufügen

In diesen 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. Achte 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-Themes von AppCompat verwendet wird, wie im folgenden Beispiel gezeigt. Wenn Sie eines dieser Designs verwenden, wird die App-Leiste nicht mit der nativen ActionBar-Klasse bereitgestellt.
    <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 hinzugefügt, das über der Aktivität zu schweben scheint:
    <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 Erhebung 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() 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. Die Aktionsleiste enthält standardmäßig den Namen der App und ein Überlaufmenü, das anfangs das Element Einstellungen enthält. Sie können der Aktionsleiste und dem Überlaufmenü weitere Aktionen hinzufügen, wie unter Aktionen hinzufügen und verarbeiten beschrieben.

Dienstprogramm-Methoden für die App-Leiste verwenden

Sobald Sie die Symbolleiste als App-Leiste einer Aktivität festgelegt haben, haben Sie Zugriff auf die Hilfsmethoden der Klasse ActionBar der AndroidX-Bibliothek. Mit diesem Ansatz können Sie nützliche Dinge tun, z. B. die App-Leiste ein- und ausblenden.

Rufen Sie zum Verwenden der Hilfsmethoden ActionBar 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.