I sin mest grundlæggende form viser aktionslinjen titlen for aktiviteten på den ene side og en overløbsmenu på den anden side. Selv i denne enkle form giver app-linjen nyttige oplysninger til brugerne og er med til at give Android-apps et ensartet udseende.

Figur 1. En app-linje med apptitle og overløbsmenu.

Fra og med Android 3.0 (API-niveau 11) har alle aktiviteter, der bruger standardtemaet, en ActionBar som app-linje. App-bar-funktioner er dog gradvist blevet tilføjet til den native ActionBar i løbet af forskellige Android-udgaver. Som følge heraf opfører den native ActionBar sig forskelligt afhængigt af, hvilken version af Android-systemet en enhed måtte anvende. Derimod er de nyeste funktioner tilføjet til supportbibliotekets version af Toolbar, og de er tilgængelige på alle enheder, der kan bruge supportbiblioteket.

Af denne grund bør du bruge supportbibliotekets Toolbar-klasse Toolbar til at implementere dine aktiviteters app-barer. Ved at bruge supportbibliotekets værktøjslinje er du med til at sikre, at din app vil have en ensartet opførsel på tværs af det bredeste udvalg af enheder. For eksempel giver Toolbar-widgetten en material design-oplevelse på enheder, der kører Android 2.1 (API-niveau 7) eller nyere, men den native aktivitetslinje understøtter ikke material design, medmindre enheden kører Android 5.0 (API-niveau 21) eller nyere.

Føj en værktøjslinje til en aktivitet

Disse trin beskriver, hvordan du konfigurerer en Toolbarsom din aktivitets appbar:

  1. Føj v7 appcompat-støttebiblioteket til dit projekt, som beskrevet i Opsætning af støttebibliotek.
  2. Sørg for, at aktiviteten udvider AppCompatActivity:

    Kotlin

    class MyActivity : AppCompatActivity() { // ...}

    Java

    public class MyActivity extends AppCompatActivity { // ...}

    Bemærk: Foretag denne ændring for hver aktivitet i din app, der bruger en Toolbar som app-bar.

  3. Ind i appmanifestet skal du indstille <application>-elementet til at bruge et af appcompats NoActionBar temaer. Hvis du bruger et af disse temaer, forhindrer du appen i at bruge den native ActionBar-klasse til at levere app-baren. F.eks:
    <application android:theme="@style/Theme.AppCompat.Light.NoActionBar" />
  4. Tilføj et Toolbar til aktivitetens layout. Følgende layoutkode tilføjer f.eks. en Toolbar og giver den udseendet af at svæve over aktiviteten:
    <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"/>

    Se Material Design-specifikationen for anbefalinger vedrørende app-barens højde.

    Placér værktøjslinjen øverst i aktivitetens layout, da du bruger den som en app-linje.

  5. I aktivitetens onCreate()-metode kalder du aktivitetens setSupportActionBar()-metode, og du overgiver aktivitetens værktøjslinje. Denne metode indstiller værktøjslinjen som app-linjen for aktiviteten. For eksempel:

    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);}

Din app har nu en grundlæggende aktionslinje. Som standard indeholder aktionslinjen kun navnet på appen og en overløbsmenu. Indstillingsmenuen indeholder i første omgang kun punktet Indstillinger. Du kan tilføje flere handlinger til aktionslinjen og overløbsmenuen som beskrevet i Tilføjelse og håndtering af handlinger.

Brug værktøjsmetoder for appbar

Når du har indstillet værktøjslinjen som en aktivitets appbar, har du adgang til de forskellige værktøjsmetoder, der leveres af klassen ActionBar i v7 appcompat-supportbibliotekets ActionBar-klasse. Med denne fremgangsmåde kan du gøre en række nyttige ting, f.eks. skjule og vise app-linjen.

Skriv et svar

Din e-mailadresse vil ikke blive publiceret.