Konfigurowanie paska aplikacji

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

W najprostszej formie pasek działań zawiera tytuł aktywności po jednej stronie i menu przepełnienia po drugiej. Nawet w tej podstawowej formie pasek aplikacji zapewnia użytkownikom przydatne informacje i zapewnia spójny wygląd aplikacji na Androida.

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

Wszystkie aktywności, które używają motywu domyślnego, mają ActionBar jako pasek aplikacji. Funkcje paska aplikacji są dodawane do natywnej ActionBar w różnych wersjach Androida. W związku z tym natywna funkcja ActionBar działa inaczej w zależności od wersji Androida używanej na urządzeniu.

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.

Z tego powodu do implementowania pasków aplikacji w swoich aktywnościach użyj klasy Toolbar z biblioteki AndroidX. 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 aktywności:
  1. Dodaj bibliotekę AndroidX do projektu zgodnie z opisem w artykule Omówienie AndroidX.
  2. Upewnij się, że aktywność obejmuje:AppCompatActivity

    Kotlin

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

    Java

    public class MyActivity extends AppCompatActivity {
      // ...
    }
  3. W pliku manifestu aplikacji ustaw element <application>, aby używać jednej z motywów NoActionBar w bibliotece AppCompat, jak pokazano w tym przykładzie. Użycie jednego z tych motywów uniemożliwia aplikacji korzystanie z klasy natywnej ActionBar do wyświetlania paska aplikacji.
    <application
        android:theme="@style/Theme.AppCompat.Light.NoActionBar"
        />
  4. Dodaj 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"/>

    Zalecenia dotyczące podwyższenia paska aplikacji znajdziesz w specyfikacji Material Design.

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

  5. W metodzie onCreate() aktywności wywołaj metodę setSupportActionBar() tej aktywności i przekaż pasek narzędzi aktywności, jak pokazano w tym przykładzie. 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);
    }

Twoja aplikacja ma teraz podstawowy pasek czynności. Domyślnie zawiera ona nazwę aplikacji oraz menu przepełnienia, które początkowo zawiera element Ustawienia. Do paska działań i menu rozszerzonego możesz dodawać kolejne działania, jak opisano w artykule Dodawanie działań i obsługa działań.

Używanie metod paska aplikacji

Po ustawieniu paska narzędzi jako paska aplikacji aktywności masz dostęp do metod pomocniczych udostępnianych przez klasę ActionBar biblioteki AndroidX. Dzięki temu możesz wykonywać przydatne czynności, np. ukrywać i wyświetlać pasek 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ą metodę ActionBar, aby dostosować pasek aplikacji. Aby na przykład ukryć pasek aplikacji, wywołaj funkcję ActionBar.hide().