2012-04-17 21 views
7

Chciałbym, aby układ aplikacji był taki sam, jak w Gmailu. Mają pasek akcji z ikonami (na moim urządzeniu ma logo aplikacji do nawigacji w górę i niestandardowy widok do wyboru skrzynki odbiorczej/skrzynki odbiorczej/etc), ale jest też pewien rodzaj podziału ActionBar, ponieważ na dole mam kilka ikony (tworzenie, wyszukiwanie, etykiety itd.).Podziel ekran ActionBar dwa razy więcej ikon

Jak mogę to zrobić? I wprowadziły następujące ActionBar przez ten XML:

<?xml version="1.0" encoding="utf-8"?> 
<menu xmlns:android="http://schemas.android.com/apk/res/android" > 

    <item 
     android:id="@+id/menu_gps" 
     android:icon="@drawable/icone_gps_continu" 
     android:showAsAction="always" 
     android:title="@string/menu_gps"/> 
    <item 
     android:id="@+id/menu_sort" 
     android:icon="@drawable/icone_liste_chron" 
     android:showAsAction="always" 
     android:title="@string/menu_liste"/> 
    <item 
     android:id="@+id/menu_stats" 
     android:icon="@drawable/icone_statistiques" 
     android:showAsAction="always" 
     android:title="@string/menu_stats"/> 
    <item 
     android:id="@+id/menu_save" 
     android:icon="@drawable/icone_terminersortie" 
     android:showAsAction="always" 
     android:title="@string/menu_save"/> 
    <item 
     android:id="@+id/menu_search" 
     android:icon="@drawable/ic_launcher" 
     android:showAsAction="always" 
     android:title="@string/menu_search"/> 
    <item 
     android:id="@+id/menu_photo" 
     android:icon="@drawable/icone_enregistrerphoto" 
     android:showAsAction="always" 
     android:title="@string/menu_photo"> 
    </item> 
    <item 
     android:id="@+id/menu_sound" 
     android:icon="@drawable/icone_enregistrerson" 
     android:showAsAction="always" 
     android:title="@string/menu_sound"> 
    </item> 
    <item 
     android:id="@+id/menu_settings" 
     android:icon="@drawable/icone_parametres" 
     android:showAsAction="always" 
     android:title="@string/menu_settings"> 
    </item> 

</menu> 

I mam oczywiście włączony podział ActionBar dodając android:uiOptions="splitActionBarWhenNarrow" do mojego <application> tag w manifeście.

Co otrzymuję to pusty "wierzchołek" ActionBar; a na dole wyświetlane są tylko trzy ikony. Myślałem, że mogę wyświetlać 3-4 ikony u góry i 5 u dołu w trybie portretowania, a wszystkie z nich u góry w trybie poziomym.

Uwaga: nawet jeśli testuję system ICS przy użyciu Galaxy Nexusa, używam ActionBarSherlock, aby zapewnić kompatybilność wsteczną.

Odpowiedz

10

Wygląda na to, że wysłałem zbyt szybko, wydaje się, że to niemożliwe.

duplikaty:

Najwyraźniej nie jest to możliwe. Jednak zrobili to w Gmailu/gplusie, może używając niestandardowego widoku do dolnej części ... Nadal oczekuję lepszej odpowiedzi na to!

Reto Meier's word na to:

Myślę, że problem z podziału czynności między górze i na dole jest to, że byłoby to uczynić go bardziej trudne do wykonania czynności. Działania powinny być najważniejszymi czynnościami w działaniu - podzielenie ich między górną i dolną część ekranu oznacza, że ​​użytkownicy muszą szukać w dwóch miejscach, a nie w jednym.

6

Zastanawiam się także, w jaki sposób te aplikacje miały ikony w obu taktach, więc zdekompilowałem dwa z nich.

To, co znalazłem, to że te dwie aplikacje: nie wdrożyły ActionBar w ogóle i używają niestandardowych układów dla obu pasków. Nie jestem pewien, czy mogę wymienić te aplikacje tutaj, ale są to dobrze znane aplikacje z ponad 10 mln pobrań.

Sugeruję, aby przejść tę samą drogę, jeśli nie podoba Ci się domyślna ActionBar (która ma bardzo mało miejsca na personalizację) i zamiast tego tworzyć niestandardowe układy (nie jest to konieczne w przypadku obu pasków, zależy to od Twoich potrzeb).

Odtwarzanie podzielonego paska akcji jest dość łatwe. Jego wysokość zawsze wynosi 48dp niezależnie od urządzenia, więc prosty LinearLayout lub RelativeLayout ze stałą wysokością i niektórymi przezroczystymi przyciskami obrazu działa bardzo vell. W ciągu zaledwie 15 minut otrzymasz w pełni dostosowywany pasek podziału akcji.

Powiązane problemy