2011-11-18 12 views
5

Chcę utworzyć kartę akcji Actionbar (NAVIGATION_MODE_TABS) z widokiem niestandardowym (DISPLAY_SHOW_CUSTOM). powinno to wyglądać tak:Jak utworzyć pasek zadań Android z niestandardowym widokiem i zakładkami

enter image description here

po prostu trzeba być w stanie poruszać się działań poprzez przyciski w górnym rzędzie - jak to zrobić z ActionBar w normalnym trybie - nie zakładkami, a także być w stanie aby przełączyć karty w drugim rzędzie. Jeśli ustawię ActionBar na tryb z kartami, niestandardowy widok zniknie, wydaje się, że tryb z kartami i niestandardowy widok wzajemnie się wykluczają ... Czy to możliwe?

Istnieje więcej możliwych sposobów, jak to zrobić bez ActionBar. Zwykle tworzyłem układ z przyciskami, włączałem go do TabActivity (teraz jest przestarzałe) i to wszystko. Ale nie sądzę, że byłoby to najlepsze rozwiązanie, więc każda pomoc lub porada jest doceniana.

Z góry dziękuję.

EDYCJA: Po drobnych badaniach stwierdziłem, że to działa, po prostu nie wyświetla się na moim 4-calowym ekranie. Jednak nadal nie działa tak, jak się spodziewałem. Na szerszych ekranach po prawej stronie zakładek wyświetla się niestandardowy widok - jest OK, ale na ekranach 4-calowych telefonów nie jest wyświetlany wcale.

Myślę, że najlepszym rozwiązaniem jest użycie biblioteki ActionBarSherlock (nie lubię używania przestarzałych funkcji i moja aplikacja musi działać również na urządzeniach wersji pre-sdk11) i fragmentów - jednego dla najlepszego ActionBara, a drugiego dla widoku z kartami.

+0

Możesz ponownie rozważyć użycie paska działań ORAZ kart. Masz ograniczony ekran do pracy, zbyt wiele elementów sterujących nawigacją spowoduje tylko zaśmiecenie aplikacji. Z tego, co widzę, na 3,5 lub nawet 4-calowym telefonie zajmie to prawie 1/3, jeśli nie więcej ekranu. Tylko myśl :) i dobra robota na badaniach, to najlepszy sposób na naukę. – Jack

+0

Niestety, nie ma nic do ponownego rozważenia, jest to wymóg mojego klienta ... Ale w końcu znalazłem eleganckie i proste rozwiązanie, które wcześniej przeoczyłem. Przyciski do górnego rzędu można dodać jako elementy opcji Menu - kilka linii i układ jest już gotowy. Pytanie można zamknąć ... – vitakot

Odpowiedz

0

Przyciski w górnym rzędzie mają zostać dodane jako elementy optionMenu:

@Override 
public boolean onCreateOptionsMenu(Menu menu) 
{ 
    for (int i = 0; i < menuItems; i++) 
    { 
     if (i == 0) 
     { 
      menu.add(R.string.home).setIcon(R.drawable.button_home).setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM | MenuItem.SHOW_AS_ACTION_WITH_TEXT); 
      menu.getItem(0).setOnMenuItemClickListener(this); 

     } 
    } 

    return super.onCreateOptionsMenu(menu); 
} 

Filozofia ActionBar nieznacznie różni się potem miało być po zapytaniu. Począwszy od zakładki nawigacyjnej w działaniu, korzystanie z zakładek paska czynności jest świetną opcją (zamiast korzystania z TabWidget), ponieważ system dostosowuje zakładki paska akcji dla różnych rozmiarów ekranu - umieszczając je w główny pasek akcji, gdy ekran jest dostatecznie szeroki lub na osobnym pasku (zwanym "stosowym paskiem akcji"), gdy ekran jest zbyt wąski.

Powiązane problemy