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.
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 eineToolbar
als App-Leiste für Ihre Aktivität einrichten:
- Fügen Sie Ihrem Projekt die AndroidX-Bibliothek hinzu, wie in der AndroidX-Übersicht beschrieben.
- Achten Sie darauf, dass die Aktivität
AppCompatActivity
umfasst:Kotlin
class MyActivity : AppCompatActivity() { // ... }
Java
public class MyActivity extends AppCompatActivity { // ... }
- Legen Sie im App-Manifest für das Element
<application>
eines derNoActionBar
-Designs von AppCompat fest, wie im folgenden Beispiel gezeigt. Wenn Sie eines dieser Themen verwenden, kann die App die nativeActionBar
-Klasse nicht für die App-Leiste verwenden.<application android:theme="@style/Theme.AppCompat.Light.NoActionBar" />
- Fügen Sie dem Layout der Aktivität ein
Toolbar
hinzu. Im folgenden Layoutcode wird beispielsweise einToolbar
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.
- Rufen Sie in der
onCreate()
-Methode der Aktivität diesetSupportActionBar()
-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.