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 oknie tworzenia wiadomości

W najbardziej podstawowej formie pasek działań zawiera tytuł aktywności po jednej stronie, a rozszerzone menu po drugiej. Nawet w tej podstawowej formie pasek aplikacji zawiera przydatne informacje dla użytkowników i nadaje aplikacjom na Androida spójny wygląd i styl.

Obraz przedstawiający pasek aplikacji w aplikacji Now w Androidzie
Rysunek 1. Pasek aplikacji z ikoną działania w aplikacji „Now in Android”.

Wszystkie aktywności, które używają motywu domyślnego, mają na pasku aplikacji znak ActionBar. Funkcje paska aplikacji są dodawane do natywnego elementu ActionBar w różnych wersjach Androida. W efekcie natywna ActionBar działa różnie w zależności od wersji Androida, z której korzysta urządzenie.

Z drugiej strony funkcje są dodawane do wersji Toolbar biblioteki AndroidX AppCompat, co oznacza, że są one dostępne na urządzeniach z bibliotekami AndroidX.

Użyj klasy Toolbar biblioteki AndroidX do zaimplementowania pasków aplikacji aktywności. Korzystanie z paska narzędzi biblioteki AndroidX sprawia, że działanie aplikacji jest spójne na jak największej liczbie urządzeń.

Dodawanie paska narzędzi do aktywności

Aby skonfigurować Toolbar jako pasek aplikacji aktywności:
  1. Dodaj do projektu bibliotekę AndroidX zgodnie z opisem w omówieniu AndroidaX.
  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> tak, aby używał jednego z motywów NoActionBar usługi AppCompat, jak pokazano w poniższym przykładzie. Użycie jednego z tych motywów uniemożliwia aplikacji użycie natywnej klasy 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 element Toolbar i 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 wysokości paska aplikacji znajdziesz w specyfikacji Material Design.

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

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

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

Używanie metod narzędziowych paska aplikacji

Gdy ustawisz pasek narzędzi jako pasek aplikacji aktywności, będziesz mieć dostęp do metod narzędzi dostępnych przez klasę ActionBar w bibliotece AndroidX. Dzięki temu możesz wykonywać przydatne czynności, takie jak ukrywanie i wyświetlanie paska aplikacji.

Aby użyć metod narzędziowych ActionBar, wywołaj metodę getSupportActionBar() aktywności. Ta metoda zwraca odwołanie do obiektu AppCompat ActionBar. Mając to odniesienie, możesz wywołać dowolną metodę ActionBar, aby dostosować pasek aplikacji. Aby na przykład ukryć pasek aplikacji, wywołaj ActionBar.hide().