2012-10-14 21 views
7

chcę użyć działalność na dwa sposobyandroid actionbar - usuwanie actionbar dynamicznie

  1. To pokazuje listę elementów, które mogą być edytowane, dodane nowe etc
  2. To pokazuje listę elementów w aby wybrać jeden.

Jako główny logiki działania jest, aby wyświetlić listę elementów Chcę obsługiwać te dwa przypadki, w tej samej działalności. Niemniej jednak w 1. Chcę pokazać pasek działań, aby użytkownik mógł nawigować stamtąd do dowolnego miejsca. W 2. przypadku nie chcę pokazywać żadnego paska akcji, wszystko co użytkownik może zrobić, to wybrać element lub nacisnąć anuluj/cofnij.

Jaki jest najlepszy sposób, aby to osiągnąć. Moim pierwszym przypuszczeniem byłyby dwa tematy, które ustawiam dynamicznie, co z tych dwóch przypadków jest wymagane. Zastanawiam się jednak, czy istnieje również sposób na łatwe programistyczne usunięcie paska akcji z ekranu, co uchroniłoby mnie przed zadeklarowaniem dwóch tematów itp. Każda sugestia, w jaki sposób radzisz sobie z tym wymogiem, byłaby bardzo pomocna.

Dzięki

Odpowiedz

2

Jeśli chcesz faktycznie zdjąć pasek działań (nie tworzyć go w pierwszej kolejności), w przeciwieństwie do utwórz go, ale po prostu ukryj go od razu, możesz to zrobić za pomocą motywów lub kodu.

Via motyw lub stylem atrybuty:

użyć jednego z tematów systemowych predefine jak Theme.Holo.NoActionBar lub jej wariantów. To jest najłatwiejszy sposób na zrobienie tego.

Jeśli chcesz zdefiniować za pomocą atrybutów wewnątrz niestandardowego tematu, to można to zrobić:

<resources> 
    <style name="MyTheme" parent="some_parent_theme"> 
     <item name="android:windowNoTitle">true</item> 
     <item name="android:windowActionBar">false</item> 
     <item name="android:windowFullscreen">true</item> 
    </style> 
</resources> 

Teraz dodaj ten motyw do działania lub aplikacji.

Via kodu (upewnij się, że nazywają to przed setContentView w Activity.onCreate):

requestWindowFeature(Window.FEATURE_NO_TITLE); 
Powiązane problemy