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.
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:
- Dodaj bibliotekę AndroidX do projektu zgodnie z opisem w artykule Omówienie AndroidX.
- Upewnij się, że aktywność obejmuje:
AppCompatActivity
Kotlin
class MyActivity : AppCompatActivity() { // ... }
Java
public class MyActivity extends AppCompatActivity { // ... }
- W pliku manifestu aplikacji ustaw element
<application>
, aby używać jednej z motywówNoActionBar
w bibliotece AppCompat, jak pokazano w tym przykładzie. Użycie jednego z tych motywów uniemożliwia aplikacji korzystanie z klasy natywnejActionBar
do wyświetlania paska aplikacji.<application android:theme="@style/Theme.AppCompat.Light.NoActionBar" />
- Dodaj
Toolbar
do układu aktywności. Na przykład ten kod układu dodaje obiektToolbar
, 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.
- 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()
.