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 Toolbar
som aktivitets appbar:
- Lägg till stödbiblioteket v7 appcompat till ditt projekt, enligt beskrivningen i Inställning av stödbibliotek.
- 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. - I appmanifestet ställer du in
<application>
-elementet så att det använder ett av appcompatsNoActionBar
-teman. Om du använder ett av dessa teman förhindrar du att appen använder den inhemskaActionBar
-klassen för att tillhandahålla appfältet. Till exempel:<application android:theme="@style/Theme.AppCompat.Light.NoActionBar" />
- Lägg till en
Toolbar
till aktivitetens layout. Följande layoutkod lägger till exempel till enToolbar
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.
- I aktivitetens
onCreate()
metod anropar du aktivitetenssetSupportActionBar()
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.