Perusmuodossaan toimintopalkki näyttää toiminnon otsikon toisella puolella ja ylivuotovalikon toisella puolella. Jopa tässä yksinkertaisessa muodossaan sovelluspalkki tarjoaa käyttäjille hyödyllistä tietoa ja auttaa antamaan Android-sovelluksille yhtenäisen ulkoasun.
Kuva 1. Sovelluspalkki, jossa on sovelluksen otsikko ja ylivuotovalikko.
Android 3.0:sta alkaen (API-taso 11) kaikissa toiminnoissa, jotka käyttävät oletusteemaa, on ActionBar
sovelluspalkkina. Sovelluspalkin ominaisuuksia on kuitenkin vähitellen lisätty natiiviin ActionBar
:ään eri Android-versioiden aikana. Tämän seurauksena natiivi ActionBar
käyttäytyy eri tavalla riippuen siitä, mitä Android-järjestelmän versiota laite mahdollisesti käyttää. Sen sijaan uusimmat ominaisuudet on lisätty tukikirjaston versioon Toolbar
, ja ne ovat käytettävissä kaikissa laitteissa, jotka voivat käyttää tukikirjastoa.
Tästä syystä kannattaa käyttää tukikirjaston Toolbar
-luokkaa aktiviteettien sovelluspalkkien toteuttamiseen. Tukikirjaston työkalupalkin käyttäminen auttaa varmistamaan, että sovelluksesi käyttäytyy yhdenmukaisesti mitä erilaisimmilla laitteilla. Esimerkiksi Toolbar
-widget tarjoaa materiaalisuunnittelukokemuksen laitteissa, joissa on Android 2.1 (API-taso 7) tai uudempi, mutta natiivi toimintopalkki ei tue materiaalisuunnittelua, ellei laitteessa ole Android 5 -käyttöjärjestelmää.0 (API-taso 21) tai uudempi.
Työkalupalkin lisääminen aktiviteettiin
Näissä ohjeissa kuvataan, miten Toolbar
asennetaan aktiviteetin sovelluspalkiksi:
- Lisää v7-appcompat-tukikirjasto projektiin kohdassa Tukikirjaston asennus kuvatulla tavalla.
- Varmista, että aktiviteetti laajentaa
AppCompatActivity
:Kotlin
class MyActivity : AppCompatActivity() { // ...}
Java
public class MyActivity extends AppCompatActivity { // ...}
Huomaa: Tee tämä muutos jokaiselle sovelluksesi aktiviteetille, joka käyttää
Toolbar
:tä sovelluspalkkina. - Aseta sovelluksen manifestissa
<application>
-elementti käyttämään yhtä appcompatinNoActionBar
-teemoista. Jonkin näistä teemoista käyttäminen estää sovellusta käyttämästä natiiviaActionBar
-luokkaa sovelluspalkin tarjoamiseen. Esim:<application android:theme="@style/Theme.AppCompat.Light.NoActionBar" />
- Lisää
Toolbar
aktiviteetin ulkoasuun. Esimerkiksi seuraava asettelukoodi lisääToolbar
:n ja antaa sille vaikutelman, että se leijuu aktiviteetin yläpuolella:<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"/>
Katso Material Design -spesifikaatiosta suosituksia sovelluspalkin kohoamisesta.
Aseta työkalupalkki aktiviteetin asettelun yläosaan, koska käytät sitä sovelluspalkkina.
- Kutsu aktiviteetin
onCreate()
-metodissa aktiviteetinsetSupportActionBar()
-metodia ja välitä aktiviteetin työkalupalkki. Tämä metodi asettaa työkalupalkin aktiviteetin sovelluspalkiksi. Esimerkiksi: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);}
Sovelluksessasi on nyt perus toimintopalkki. Oletusarvoisesti toimintopalkki sisältää vain sovelluksen nimen ja ylivuotovalikon. Valikkovalikko sisältää aluksi vain Asetukset-kohdan. Voit lisätä toimintopalkkiin ja ylivuotovalikkoon lisää toimintoja, kuten kohdassa Toimintojen lisääminen ja käsittely on kuvattu.
Sovelluspalkin apuvälinemenetelmien käyttäminen
Kun olet asettanut työkalupalkin toiminnon sovelluspalkiksi, saat käyttöösi v7:n appcompat-tukikirjaston ActionBar
-luokan tarjoamat eri apuvälinemenetelmät. Tämän lähestymistavan avulla voit tehdä useita hyödyllisiä asioita, kuten piilottaa ja näyttää sovelluspalkin.