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ń zawiera tytuł działania z drugiej strony i rozszerzone menu. Nawet w tej podstawowej formie pasek aplikacji zapewnia zawiera przydatne informacje, a także 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 na ekranie „Teraz na Androida” .
.
.

Wszystkie aktywności korzystające z motywu domyślnego mają ActionBar jako aplikacja przeglądarki. Funkcje paska aplikacji są dodawane do natywnego interfejsu ActionBar w różnych Wersje Androida. W efekcie natywne ActionBar działa inaczej w zależności od wersji Androida.

Funkcje zostały dodane do biblioteki Toolbar, co oznacza, że są one dostępne na urządzeniach korzystających z bibliotek Androida X.

Użyj klasy Toolbar w bibliotece AndroidaX, aby zaimplementować swoje działania pasków aplikacji z tego powodu. Korzystanie z paska narzędzi biblioteki AndroidaX ułatwia w przypadku najszerszego zakresu urządzeń.

Dodawanie paska narzędzi do aktywności

Aby skonfigurować Toolbar jako pasek aplikacji dotyczący aktywności:
  1. Dodaj do projektu bibliotekę AndroidaX, postępując zgodnie z instrukcjami w sekcji Omówienie AndroidaX
  2. Upewnij się, że aktywność obejmuje długi czas AppCompatActivity:

    Kotlin

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

    Java

    public class MyActivity extends AppCompatActivity {
      // ...
    }
    
  3. W manifeście aplikacji ustaw <application> z użyciem jednego z komponentów AppCompat NoActionBar motywów, jak widać w przykładzie poniżej. Używanie jednego z tych motywów zapobiega 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: kod układu dodaje element Toolbar i nadaje mu wygląd pływającego 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"/>
    

    Zobacz Specyfikacja stylu Material Design aby uzyskać zalecenia dotyczące wysokości paska aplikacji.

    Umieść pasek narzędzi na górze sekcji aktywności layout, bo używasz jako pasek aplikacji.

  5. W sekcji aktywności onCreate() wywołaj metodę setSupportActionBar() i przekazać pasek narzędzi aktywności, jak pokazano w poniższym przykładzie. Ten 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ę oraz rozszerzone menu, które początkowo zawiera pozycję Ustawienia. Do paska działań i rozszerzonego menu możesz dodać więcej działań, tak jak to opisano w Dodawanie i obsługa działań.

Używanie metod narzędzia na pasku aplikacji

Gdy ustawisz ten pasek jako pasek aplikacji aktywności, uzyskasz dostęp do narzędzia metod oferowanych przez bibliotekę AndroidaX ActionBar zajęcia. 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ę działania getSupportActionBar() . Ta metoda zwraca odwołanie do obiektu AppCompat ActionBar. Mając to odwołanie, możesz wywołać dowolną z tych metod ActionBar aby dostosować pasek aplikacji. Aby na przykład ukryć pasek aplikacji, wywołaj ActionBar.hide()