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 Toolbar
jako pasek aplikacji działania:
- Dodaj bibliotekę obsługi appcompat v7 do projektu, jak opisano w sekcji Konfiguracja biblioteki obsługi.
- 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. - W manifeście aplikacji ustaw element
<application>
, aby używał jednego zNoActionBar
motywów appcompat. Użycie jednego z tych motywów uniemożliwia aplikacji korzystanie z natywnej klasyActionBar
w celu zapewnienia paska aplikacji. Na przykład:<application android:theme="@style/Theme.AppCompat.Light.NoActionBar" />
- Dodaj
Toolbar
do układu aktywności. Na przykład, następujący kod układu dodajeToolbar
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.
- 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.