W swojej najbardziej podstawowej formie pasek akcji wyświetla tytuł czynności po jednej stronie i menu przepełnienia po drugiej. Nawet w tej prostej formie pasek aplikacji dostarcza użytkownikom przydatnych informacji i pomaga nadać aplikacjom systemu Android spójny wygląd i sposób działania.

Rysunek 1. Pasek aplikacji z apptitle i menu przepełnienia.

Począwszy od Androida 3.0 (poziom API 11), wszystkie działania, które używają domyślnego motywu, mają ActionBar jako pasek aplikacji. Jednak funkcje paska aplikacji były stopniowo dodawane do natywnego ActionBar w różnych wydaniach systemu Android. W rezultacie natywny ActionBar zachowuje się inaczej w zależności od tego, z jakiej wersji systemu Android może korzystać urządzenie. Natomiast najnowsze funkcje są dodawane do wersji Toolbar biblioteki pomocniczej i są dostępne na każdym urządzeniu, które może korzystać z biblioteki pomocniczej.

Z tego powodu należy używać klasy Toolbar biblioteki pomocniczej do implementacji pasków aplikacji swoich działań. Użycie paska narzędzi biblioteki wsparcia pomaga zapewnić, że Twoja aplikacja będzie miała spójne zachowanie w najszerszym zakresie urządzeń. Na przykład widżet Toolbar zapewnia wrażenia materialnego projektu na urządzeniach z systemem Android 2.1 (poziom API 7) lub nowszym, ale natywny pasek akcji nie obsługuje materialnego projektu, chyba że urządzenie ma system Android 5.0 (poziom API 21) lub nowszym.

Dodaj pasek narzędzi do działania

W tych krokach opisano, jak skonfigurować pasek Toolbarjako pasek aplikacji działania:

  1. Dodaj bibliotekę obsługi appcompat v7 do projektu, jak opisano w sekcji Konfiguracja biblioteki obsługi.
  2. Upewnij się, że aktywność rozszerza AppCompatActivity:

    Kotlin

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

    Java

    public class MyActivity extends AppCompatActivity { // ...}

    Uwaga: Dokonaj tej zmiany dla każdej aktywności w aplikacji, która używa Toolbar jako paska aplikacji.

  3. W manifeście aplikacji ustaw element <application>, aby używał jednego z NoActionBar motywów appcompat. Użycie jednego z tych motywów uniemożliwia aplikacji korzystanie z natywnej klasy ActionBar w celu zapewnienia paska aplikacji. Na przykład:
    <application android:theme="@style/Theme.AppCompat.Light.NoActionBar" />
  4. Dodaj Toolbar do układu aktywności. Na przykład, następujący kod układu dodaje Toolbar i nadaje mu wygląd unoszenia się nad aktywnością:
    <android.support.v7.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 specyfikację Material Design, aby zapoznać się z zaleceniami dotyczącymi podwyższania 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() aktywności i przekaż jej pasek narzędzi. Ta metoda ustawia pasek narzędzi jako pasek aplikacji dla aktywności. Na przykład:

    Kotlin

    override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_my) // Note that the Toolbar defined in the layout has the id "my_toolbar" setSupportActionBar(findViewById(R.id.my_toolbar))}

    Java

    @Overrideprotected 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 akcji. Domyślnie pasek akcji zawiera tylko nazwę aplikacji i menu przepełnienia. Menu opcji zawiera początkowo tylko pozycję Ustawienia. Możesz dodać więcej akcji do paska akcji i menu przepełnienia, jak opisano w sekcji Dodawanie i obsługa akcji.

Użyj metod użytkowych paska aplikacji

Po ustawieniu paska narzędzi jako paska aplikacji aktywności masz dostęp do różnych metod użytkowych udostępnianych przez klasę ActionBar biblioteki wsparcia appcompat v7. To podejście pozwala robić wiele użytecznych rzeczy, takich jak ukrywanie i pokazywanie paska aplikacji.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.