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 Toolbarasennetaan aktiviteetin sovelluspalkiksi:

  1. Lisää v7-appcompat-tukikirjasto projektiin kohdassa Tukikirjaston asennus kuvatulla tavalla.
  2. 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.

  3. Aseta sovelluksen manifestissa <application>-elementti käyttämään yhtä appcompatin NoActionBar-teemoista. Jonkin näistä teemoista käyttäminen estää sovellusta käyttämästä natiivia ActionBar-luokkaa sovelluspalkin tarjoamiseen. Esim:
    <application android:theme="@style/Theme.AppCompat.Light.NoActionBar" />
  4. 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.

  5. Kutsu aktiviteetin onCreate()-metodissa aktiviteetin setSupportActionBar()-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.

Vastaa

Sähköpostiosoitettasi ei julkaista.