In zijn meest eenvoudige vorm geeft de actiebalk aan de ene kant de titel voor de activiteit weer en aan de andere kant een overloopmenu. Zelfs in deze eenvoudige vorm biedt de actiebalk nuttige informatie aan de gebruikers en helpt het Android-apps een consistent uiterlijk en gevoel te geven.

Figuur 1. Een app-balk met de app-titel en het overloopmenu.

Beginnend met Android 3.0 (API-niveau 11), hebben alle activiteiten die gebruikmaken van het standaardthema een ActionBar als app-balk. Echter, app bar functies zijn geleidelijk toegevoegd aan de native ActionBar gedurende verschillende Android releases. Als gevolg hiervan gedraagt de native ActionBar zich anders, afhankelijk van welke versie van het Android-systeem een apparaat kan gebruiken. Daarentegen zijn de meest recente functies toegevoegd aan de ondersteuningsbibliotheek versie van Toolbar, en ze zijn beschikbaar op elk apparaat dat de ondersteuningsbibliotheek kan gebruiken.

Om deze reden zou u de ondersteuningsbibliotheek Toolbar klasse moeten gebruiken om de app-balken van uw activiteiten te implementeren. Het gebruik van de werkbalk van de ondersteuningsbibliotheek helpt ervoor te zorgen dat uw app consistent gedrag zal vertonen over het breedste scala aan apparaten. Bijvoorbeeld, de Toolbar-widget biedt een material design-ervaring op apparaten waarop Android 2.1 (API-niveau 7) of later draait, maar de native actiebalk ondersteunt geen material design tenzij het apparaat draait op Android 5.0 (API-niveau 21) of hoger.

Een werkbalk aan een activiteit toevoegen

Deze stappen beschrijven hoe u een Toolbar als de app-balk van uw activiteit instelt:

  1. Voeg de v7 appcompat-ondersteuningsbibliotheek aan uw project toe, zoals beschreven in Ondersteuning bibliotheek instellen.
  2. Zorg ervoor dat de activiteit AppCompatActivity uitbreidt:

    Kotlin

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

    Java

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

    Opmerking: Breng deze wijziging aan voor elke activiteit in uw app die een Toolbar als app-bar gebruikt.

  3. In het app manifest stelt u het <application> element in om een van de appcompat’s NoActionBar thema’s te gebruiken. Door een van deze thema’s te gebruiken, voorkomt u dat de app de native ActionBar-klasse gebruikt om de app-balk te leveren. Bijvoorbeeld:
    <application android:theme="@style/Theme.AppCompat.Light.NoActionBar" />
  4. Voeg een Toolbar toe aan de lay-out van de activiteit. De volgende opmaakcode voegt bijvoorbeeld een Toolbar toe en geeft het de indruk dat deze boven de activiteit zweeft:
    <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"/>

    Zie de Material Design-specificatie voor aanbevelingen met betrekking tot de hoogte van de app-balk.

    Plaats de werkbalk bovenaan in de lay-out van de activiteit, omdat u deze gebruikt als een app-balk.

  5. Roep in de onCreate()-methode van de activiteit de setSupportActionBar()-methode van de activiteit aan en geef de werkbalk van de activiteit door. Deze methode stelt de werkbalk in als de app-balk voor de activiteit. Bijvoorbeeld:

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

Uw app heeft nu een basis-actiebalk. Standaard bevat de actiebalk alleen de naam van de app en een overloopmenu. Het optiemenu bevat aanvankelijk alleen het item Instellingen. U kunt meer acties toevoegen aan de actie balk en het overloop menu, zoals beschreven in Toevoegen en afhandelen van acties.

Gebruik App Bar Utility Methods

Zodra u de werkbalk instelt als de app balk van een activiteit, heeft u toegang tot de verschillende utility methodes die worden geleverd door de v7 appcompat support library’s ActionBar class. Met deze aanpak kunt u een aantal nuttige dingen doen, zoals het verbergen en tonen van de werkbalk.

Geef een antwoord

Het e-mailadres wordt niet gepubliceerd.