Legegyszerűbb formájában az akciósáv az egyik oldalon a tevékenység címét, a másikon pedig egy túlfolyó menüt jelenít meg. Az alkalmazássáv még ebben az egyszerű formában is hasznos információkat nyújt a felhasználóknak, és segít egységes megjelenést adni az Android-alkalmazásoknak.
1. ábra. Egy alkalmazássáv az alkalmazáscímmel és a túlfolyó menüvel.
Az Android 3.0-tól kezdve (11. API-szint) minden olyan tevékenység, amely az alapértelmezett témát használja, ActionBar
alkalmazássávként rendelkezik. A különböző Android-kiadások során azonban fokozatosan hozzáadták az alkalmazássáv funkcióit a natív ActionBar
-hez. Ennek eredményeképpen a natív ActionBar
eltérően viselkedik attól függően, hogy az Android rendszer melyik verzióját használja az adott eszköz. Ezzel szemben a legújabb funkciókat a támogató könyvtár Toolbar
verziójához adták hozzá, és ezek minden olyan eszközön elérhetőek, amely képes használni a támogató könyvtárat.
Ezért a tevékenységek alkalmazássávjainak megvalósításához a támogató könyvtár Toolbar
osztályát kell használni. A támogató könyvtár eszköztárának használata segít biztosítani, hogy az alkalmazásod az eszközök legszélesebb skáláján következetesen viselkedjen. A Toolbar
widget például az Android 2.1 (API 7. szint) vagy újabb Android 2.1-et futtató eszközökön biztosítja a material design élményt, de a natív műveletsáv csak akkor támogatja a material designt, ha az eszközön Android 5 fut.0 (21-es API-szint) vagy újabb.
Eszköztár hozzáadása egy tevékenységhez
Ezek a lépések leírják, hogyan állíthat be egy Toolbar
et a tevékenység alkalmazássávjaként:
- Adja hozzá a v7-es appcompat támogató könyvtárat a projektjéhez a Támogatókönyvtár beállítása című fejezetben leírtak szerint.
- Győződjön meg róla, hogy a tevékenység kiterjeszti a
AppCompatActivity
:Kotlin
class MyActivity : AppCompatActivity() { // ...}
Java
public class MyActivity extends AppCompatActivity { // ...}
Megjegyzés: Végezze el ezt a módosítást az alkalmazás minden olyan tevékenységénél, amely
Toolbar
-t használ alkalmazássávként. - Az alkalmazás manifesztjében állítsa be a
<application>
elemet úgy, hogy az appcompat egyikNoActionBar
témáját használja. Ezen témák egyikének használata megakadályozza, hogy az alkalmazás a natívActionBar
osztályt használja az alkalmazássáv biztosításához. Például:<application android:theme="@style/Theme.AppCompat.Light.NoActionBar" />
- Adjon hozzá egy
Toolbar
elemet a tevékenység elrendezéséhez. Például a következő elrendezési kód hozzáad egyToolbar
-et, és azt a látszatot kelti, hogy a tevékenység felett lebeg:<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"/>
Az alkalmazássáv kiemelésére vonatkozó ajánlásokat lásd a Material Design specifikációban.
Az eszköztárat a tevékenység elrendezésének tetejére pozicionálja, mivel alkalmazássávként használja.
- A tevékenység
onCreate()
metódusában hívja meg a tevékenységsetSupportActionBar()
metódusát, és adja át a tevékenység eszköztárát. Ez a módszer beállítja az eszköztárat az aktivitás alkalmazássávjaként. Például: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);}
Az alkalmazásodnak most már van egy alapvető akciósora. Alapértelmezés szerint az akciósor csak az alkalmazás nevét és egy túlcsorduló menüt tartalmaz. Az opciók menüje kezdetben csak a Beállítások elemet tartalmazza. Az akciósorhoz és a túlfolyó menühöz további műveleteket adhat hozzá, amint azt a Műveletek hozzáadása és kezelése című fejezetben leírtuk.
Az alkalmazássáv segédmódszereinek használata
Miután beállította az eszköztárat egy tevékenység alkalmazássávjaként, hozzáférhet a v7 appcompat támogató könyvtár ActionBar
osztálya által biztosított különböző segédmódszerekhez. Ez a megközelítés számos hasznos dolgot tesz lehetővé, például az alkalmazássáv elrejtését és megjelenítését.