W tej lekcji
- Aplikacje obsługujące system Android tylko w wersji 3.0 i nowszych
- Aplikacje obsługujące system Android w wersji 2.1 i nowszych
Warto przeczytać
Najprostszy pasek akcji zawiera nazwę obecnej aktywności wraz z umiejscowioną po lewej stronie ikoną aplikacji. Nawet w tak prostej formie jest on przydatny we wszystkich aktywnościach — za jego pośrednictwem użytkownicy otrzymują informację na temat swojego aktualnego położenia, a ponadto zapewnia on stałą tożsamość aplikacji.
Aby dodać prosty pasek, musisz upewnić się, że twoja aplikacja korzysta z motywu aktywności, który pozwala na jego uruchomienie. Z motywu takiego można skorzystać na dwa różne sposoby w zależności od najniższej wersji systemu Android, jaką obsługuje dana aplikacja. Zostały one osobno omówione w dwóch częściach tej lekcji.
Aplikacje obsługujące system Android tylko w wersji 3.0 i nowszych
Poczynając od Androida 3.0 (wersja 11 API) pasek akcji dostępny jest we wszystkich aktywnościach, które korzystają z motywu Theme.Holo
(lub potomnego). Przy nadaniu atrybutowi targetSdkVersion
lub minSdkVersion
wartości 11
bądź wyższej staje się on motywem domyślnym.
Aby dodać do aktywności pasek akcji, wystarczy zatem nadać któremukolwiek z wymienionych atrybutów wartość nie mniejszą niż 11
. Przykład:
<manifest ... > <uses-sdk android:minSdkVersion="11" ... /> ... </manifest>
Teraz cała aplikacja korzysta z motywu Theme.Holo
, a we wszystkich aktywnościach widoczny jest pasek akcji. To wszystko.
Aplikacje obsługujące system Android w wersji 2.1 i nowszych
Aby móc skorzystać z paska akcji w systemie Android starszym niż wersja 3.0 (ale minimum w wersji 2.1), do aplikacji należy dołączyć bibliotekę pomocniczą Android.
Na początek przeczytaj rozdział Dodawanie biblioteki pomocniczej i dodaj bibliotekę v7 appcompat (po pobraniu paczki z biblioteką postępuj zgodnie z instrukcjami opisanymi w podrozdziale Dodawanie bibliotek z zasobami).
Po zintegrowaniu biblioteki z aplikacją:
Ustaw swoją aktywność jako podklasę klasy
ActionBarActivity
. Przykład:public class MainActivity extends ActionBarActivity { ... }
Zmień znajdujący się w pliku manifestu element
<application>
lub pojedyncze elementy<activity>
— mają korzystać z motywówTheme.AppCompat
. Przykład:<activity android:theme="@style/Theme.AppCompat.Light" ... >
Teraz pasek akcji będzie dostępny w aplikacjach uruchamianych pod Androidem w wersji 2.1 (wersja 7 API) i starszych.
Nie zapomnij określić wersji API w manifeście:
<manifest ... > <uses-sdk android:minSdkVersion="7" android:targetSdkVersion="18" /> ... </manifest>