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