In der einfachsten Form zeigt die Aktionsleiste den Titel der Aktivität auf einem und ein Dreipunkt-Menü auf der anderen. Auch in dieser Grundform bietet die App-Leiste nützliche Informationen für Nutzer und verleiht Android-Apps ein einheitliches Erscheinungsbild.
<ph type="x-smartling-placeholder">Alle Aktivitäten, die das Standarddesign verwenden, haben ein
ActionBar
als App
. Dem nativen ActionBar
werden auf verschiedenen Ebenen Funktionen der App-Leiste hinzugefügt.
Android-Releases Das native ActionBar
verhält sich daher anders.
je nachdem, welche Android-Version
auf einem Gerät verwendet wird.
Andererseits werden Funktionen zur Version der AndroidX AppCompat-Bibliothek
Toolbar
,
Das bedeutet, dass diese Funktionen auf Geräten mit der AndroidX-Bibliothek verfügbar sind.
Verwende die Toolbar
-Klasse der AndroidX-Bibliothek, um deine Aktivitäten zu implementieren
aus diesem Grund in App-Leisten. Mit der Symbolleiste der AndroidX-Bibliothek
ein einheitliches Verhalten auf möglichst vielen Geräten zu erzielen.
Symbolleiste zu einer Aktivität hinzufügen
Im Folgenden wird beschrieben, wie Sie eineToolbar
als App-Leiste für Ihre Aktivität einrichten:
<ph type="x-smartling-placeholder">- </ph>
- Fügen Sie Ihrem Projekt die AndroidX-Bibliothek hinzu, wie unter AndroidX – Übersicht
- Achten Sie darauf, dass die Aktivität
AppCompatActivity
:Kotlin
class MyActivity : AppCompatActivity() { // ... }
Java
public class MyActivity extends AppCompatActivity { // ... }
- Legen Sie im App-Manifest fest,
<application>
-Element zur Verwendung eines derNoActionBar
wie im folgenden Beispiel dargestellt. Die Verwendung eines dieser Designs verhindert, App-Leiste nicht über die nativeActionBar
-Klasse die App-Leiste bereitstellen.<application android:theme="@style/Theme.AppCompat.Light.NoActionBar" />
- Fügen Sie dem Layout der Aktivität eine
Toolbar
hinzu. Beispiel: Layoutcode fügt einToolbar
hinzu und verleiht ihm das Aussehen eines unverankerten Elements über der Aktivität:<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"/>
Weitere Informationen finden Sie in der Material Design-Spezifikation finden Sie Empfehlungen zur Höhe der App-Leiste.
Positionieren Sie die Symbolleiste oben in der Layout, da Sie den App-Leiste verwenden.
- In der
onCreate()
die MethodesetSupportActionBar()
und übergeben Sie die Symbolleiste der Aktivität, wie im folgenden Beispiel gezeigt. Dieses legt die Toolbar als App-Leiste für die Aktivität fest.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 grundlegende Aktionsleiste. Standardmäßig enthält die Aktionsleiste den Namen der App und ein Dreipunkt-Menü, das anfänglich die Option Einstellungen enthält. Sie können der Aktionsleiste und dem Dreipunkt-Menü weitere Aktionen hinzufügen, wie unter Aktionen hinzufügen und verarbeiten
Dienstprogrammmethoden der App-Leiste verwenden
Nachdem Sie die Symbolleiste als App-Leiste für eine Aktivität festgelegt haben, können Sie auf das Dienstprogramm zugreifen.
Methoden der AndroidX-Bibliothek
ActionBar
. Auf diese Weise können Sie nützliche Aktionen durchführen, z. B. die App-Leiste ein- oder ausblenden.
Wenn Sie die ActionBar
-Dienstprogrammmethoden verwenden möchten, rufen Sie die Methode
getSupportActionBar()
. Diese Methode gibt einen Verweis auf ein ActionBar
-Objekt von AppCompat zurück.
Sobald Sie diesen Verweis haben, können Sie eine der ActionBar
-Methoden aufrufen.
um die App-Leiste anzupassen. Rufen Sie beispielsweise zum Ausblenden der App-Leiste
ActionBar.hide()