i pokazywaniem swojej zawartości. Do zadań programisty należy: 1. Dostarczenie odpowiedniego layoutu aktywności z użyciem widoku DrawerLayout 2. Obsługa interakcji użytkownika z opcjami wyświetlanymi w drawerze 3. Ewentualne pokazywanie i ukrywanie drawera programowo, w reakcji na inne zdarzenia niż swipe po ekranie Dobrą praktyką jest podpięcie NavigationDrawera do ikonki aplikacji w ActionBarze, z uwagi na nieoczywistość zastosowania tego rodzaju nawigacji w aplikacji. Aby skorzystać z komponentu, należy mieć dołączoną i skonfigurowaną bibliotekę Support Library (v4), jest ona dołączana automatycznie do nowotworzonych projektów. Część prezentacji zakłada przypadek pisania aplikacji dla wersji API 11+ z uwagi na wykorzystanie ActionBara. Aby przystosować kod do starszych wersji platformy, wystarczy skorzystać z ActionBarCompat zgodnie z Code Lab 01.
aktywności wg wzoru: <android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/drawerLayout" android:layout_width="match_parent" android:layout_height="match_parent"> <FrameLayout android:id="@+id/appContent" android:layout_width="match_parent" android:layout_height="match_parent" /> <RelativeLayout android:id="@+id/drawer" android:layout_width=" 240dp" android:layout_height="match_parent" android: layout_gravity="start" /> </android.support.v4.widget.DrawerLayout> zawartość głównego ekranu, musi to być pierwszy element wewnątrz DrawerLayoutu (typowo stanowi kontener na fragmenty) podawajmy maksymalnie 320dp pozioma grawitacja drawera: do lewej zawartość drawera ustawiamy jako root całego layoutu
nie masz w aktualnym projekcie dołączonego ActionBarCompat, możesz tymczasowo zmienić wartość android:minSdkVersion w manifeście na >10. ActionBarDrawerToggle spaja ActionBar z NavigationDrawerem oraz pokazuje go i ukrywa na kliknięcie ikonki aplikacji w ActionBarze. Dobrą praktyką jest zastąpienie tradycyjnej ikonki przycisku w górę, ikonką drawera, która podpowiada użytkownikowi, że zastosowano właśnie taki rodzaj nawigacji. Wspomnianą ikonę najlepiej dodać do zasobów aplikacji z paczki Android Design Icons.
następuje w sposób tradycyjny, należy zarejestrować odpowiednie obiekty nasłuchujące na przyciski, wybór elementów listy czy gesty dotykowe. Typową reakcją jest podmiana fragmentów stanowiących główną zawartość aplikacji, kiedy drawer jest niewidoczny (w naszym przykładowym layoucie XML, kontenerem na fragmenty jest FrameLayout o id appContent). Pomocne dodatkowe metody wywołujące pokazanie się i ukrycie drawera: mDrawerLayout = (DrawerLayout) findViewById(R.id.drawerLayout); mDrawerLayout.openDrawer(GravityCompat.START); mDrawerLayout.closeDrawer(GravityCompat.START);