Konfigurowanie paska aplikacji

Wypróbuj sposób tworzenia wiadomości
Jetpack Compose to zalecany zestaw narzędzi UI na Androida. Dowiedz się, jak dodawać komponenty w narzędziu Compose

W najbardziej podstawowej formie pasek działań z jednej strony zawiera tytuł aktywności, a po drugiej – rozszerzone menu. Nawet w takiej podstawowej formie pasek aplikacji dostarcza użytkownikom przydatnych informacji i nadaje aplikacjom na Androida spójny wygląd.

Ilustracja pokazująca pasek aplikacji w aplikacji Now na Androida
Rysunek 1. Pasek aplikacji z ikoną działania w aplikacji „Teraz na Androida”.

Wszystkie aktywności korzystające z motywu domyślnego mają ActionBar jako pasek aplikacji. Funkcje paska aplikacji są dodawane do natywnego interfejsu ActionBar w różnych wersjach Androida. W związku z tym natywny ActionBar działa różnie w zależności od wersji Androida, z którego korzysta urządzenie.

Z drugiej strony funkcje są dodawane do biblioteki Toolbar w bibliotece AndroidX AppCompat, co oznacza, że są one dostępne na urządzeniach korzystających z bibliotek AndroidX.

Aby wdrożyć paski aplikacji aktywności, użyj klasy Toolbar z biblioteki AndroidaX. Pasek narzędzi biblioteki AndroidaX zapewnia spójność działania aplikacji na jak największej liczbie urządzeń.

Dodawanie paska narzędzi do aktywności

Aby skonfigurować Toolbar jako pasek aplikacji Twojej aktywności:
  1. Dodaj do projektu bibliotekę AndroidaX zgodnie z opisem w omówieniu AndroidaX.
  2. Upewnij się, że aktywność obejmuje ciąg AppCompatActivity:

    Kotlin

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

    Java

    public class MyActivity extends AppCompatActivity {
      // ...
    }
    
  3. W pliku manifestu aplikacji ustaw element <application> tak, aby używał jednego z motywów NoActionBar w AppCompat, jak pokazano w poniższym przykładzie. Użycie jednego z tych motywów uniemożliwia aplikacji używanie natywnej klasy ActionBar do udostępnienia paska aplikacji.
    <application
        android:theme="@style/Theme.AppCompat.Light.NoActionBar"
        />
    
  4. Dodaj element Toolbar do układu aktywności. Na przykład ten kod układu dodaje obiekt Toolbar, przez co nadaje mu wygląd unoszący się nad aktywnością:
    <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"/>
    

    Zapoznaj się ze specyfikacją Material Design, aby uzyskać zalecenia dotyczące wysokości paska aplikacji.

    Umieść pasek narzędzi na górze układu aktywności, ponieważ używasz go jako paska aplikacji.

  5. W metodzie onCreate() aktywności wywołaj metodę setSupportActionBar() i przekaż pasek narzędzi aktywności, jak pokazano w przykładzie poniżej. Ta metoda ustawia pasek narzędzi jako pasek aplikacji dla aktywności.

    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);
    }
    

Aplikacja ma teraz podstawowy pasek działań. Domyślnie pasek działań zawiera nazwę aplikacji i rozszerzone menu, w którym początkowo znajduje się element Ustawienia. Do paska działań i rozszerzonego menu możesz dodać więcej działań, zgodnie z opisem w sekcji Dodawanie i obsługa działań.

Używanie metod narzędzia na pasku aplikacji

Po ustawieniu paska narzędzi jako paska aplikacji aktywności uzyskasz dostęp do metod narzędzia dostępnych w klasie ActionBar biblioteki AndroidaX. Dzięki temu możesz wykonywać przydatne czynności, takie jak ukrywanie i wyświetlanie paska aplikacji.

Aby użyć metod narzędzia ActionBar, wywołaj metodę getSupportActionBar() aktywności. Ta metoda zwraca odwołanie do obiektu AppCompat ActionBar. Po uzyskaniu tego odwołania możesz wywołać dowolną z metod ActionBar, aby dostosować pasek aplikacji. Aby na przykład ukryć pasek aplikacji, wywołaj ActionBar.hide().