I sin enklaste form visar aktivitetsfältet titeln för aktiviteten på ena sidan och en överflödsmeny på den andra. Även i denna enkla form ger appfältet användarna användbar information och bidrar till att ge Android-appar ett enhetligt utseende.

Figur 1. En appbar med apptitle och överflödsmeny.

Från och med Android 3.0 (API-nivå 11) har alla aktiviteter som använder standardtemat en ActionBar som appbar. Funktioner för appfältet har dock gradvis lagts till den ursprungliga ActionBar i olika Android-versioner. Som ett resultat av detta beter sig den ursprungliga ActionBar olika beroende på vilken version av Android-systemet en enhet använder. De senaste funktionerna har däremot lagts till i stödbibliotekets version av Toolbar, och de är tillgängliga på alla enheter som kan använda stödbiblioteket.

Av denna anledning bör du använda stödbibliotekets Toolbar-klass för att implementera appbars för dina aktiviteter. Genom att använda supportbibliotekets verktygsfält kan du se till att din app har ett konsekvent beteende på så många olika enheter som möjligt. Widgeten Toolbar ger till exempel en materialdesignupplevelse på enheter som kör Android 2.1 (API-nivå 7) eller senare, men den ursprungliga aktivitetsfältet har inte stöd för materialdesign om enheten inte kör Android 5.0 (API-nivå 21) eller senare.

Lägg till ett verktygsfält till en aktivitet

De här stegen beskriver hur du konfigurerar en Toolbarsom aktivitets appbar:

  1. Lägg till stödbiblioteket v7 appcompat till ditt projekt, enligt beskrivningen i Inställning av stödbibliotek.
  2. Se till att aktiviteten utökar AppCompatActivity:

    Kotlin

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

    Java

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

    Obs: Gör den här ändringen för varje aktivitet i din app som använder en Toolbar som appbar.

  3. I appmanifestet ställer du in <application>-elementet så att det använder ett av appcompats NoActionBar-teman. Om du använder ett av dessa teman förhindrar du att appen använder den inhemska ActionBar-klassen för att tillhandahålla appfältet. Till exempel:
    <application android:theme="@style/Theme.AppCompat.Light.NoActionBar" />
  4. Lägg till en Toolbar till aktivitetens layout. Följande layoutkod lägger till exempel till en Toolbar och ger den utseendet att sväva ovanför 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 materialdesignspecifikationen för rekommendationer om höjning av appfältet.

    Placera verktygsfältet högst upp i aktivitetens layout, eftersom du använder det som appfält.

  5. I aktivitetens onCreate() metod anropar du aktivitetens setSupportActionBar() metod och överlämnar aktivitetens verktygsfält. Denna metod ställer in verktygsfältet som appfält för aktiviteten. Till exempel:

    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äggande aktivitetsbar. Som standard innehåller handlingsfältet bara appens namn och en överflödsmeny. Alternativmenyn innehåller till en början bara objektet Inställningar. Du kan lägga till fler åtgärder till handlingsfältet och överflödsmenyn enligt beskrivningen i Lägga till och hantera åtgärder.

Använda verktygsmetoder för appfältet

När du har ställt in verktygsfältet som en aktivitets appfält har du tillgång till de olika verktygsmetoderna som tillhandahålls av stödbibliotekets ActionBar-klass ActionBar i v7 appcompat. Med detta tillvägagångssätt kan du göra ett antal användbara saker, t.ex. dölja och visa appfältet.

Lämna ett svar

Din e-postadress kommer inte publiceras.