2012-09-18 10 views
10

Moja aplikacja na Androida posiada nawigację za pomocą paska zadań. Działa to dobrze, ale przeszkadza mi to, że podczas pierwszego uruchomienia aplikacji na krótko pojawia się mały domyślny pasek akcji, zanim zostanie zastąpiony prawdziwym paskiem akcji z zakładkami. Moja onCreate zaczyna się tak:Android - ukryj pasek akcji podczas uruchamiania, a następnie pokaż go ponownie?

public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    this.getWindow().requestFeature(Window.FEATURE_ACTION_BAR); 
    setContentView(R.layout.activity_main); 

    //Set up the actionbar 
    final ActionBar actionBar = getActionBar(); 
. 
. 
. 

Co muszę zrobić tak, że prawdziwy actionbar zostanie zainicjowany bez małej domyślny krótko przed pokazano to robi na starcie?

Dzięki

+1

jest to coś czego szukasz: [Jak ukryć pasek działań zanim zostanie utworzone działanie, a następnie ponownie je wyświetlić?] (http://stackoverflow.com/questions/8500283/how-to-hide-action-bar-before-activity-is-created-and-then-show-it -again) –

Odpowiedz

5

Ukryj podczas uruchamiania

getSupportActionBar().hide(); 

Po można go wyświetlić ponownie ...

getSupportActionBar().show(); 

Powinna być taka sama z natywnym ActionBar Androida.

powinieneś skorzystać z tej linii w oczywisty i nie używać getActionBar()

<item name="android:windowActionBar">false</item> 

i po jego zakończeniu w głównym użycia Aktywny poniżej, lub nic

<item name="android:windowActionBar">true</item> 
+0

Jak dodać podany kod XML, aby aplikacja działała z numerem: false Ale potem przełącza się na true Po rozpoczęciu głównej działalności? – LoneDuck

+0

Wewnątrz zakładki działania – MBMJ

+1

Próbowałem już przypisać samej aplikacji motyw bez paska akcji, ale przypisać działanie z motywem z jednym (przy użyciu android: windowActionBar). Wciąż uruchamia się z domyślnym paskiem akcji, a dopiero potem inicjuje się jako prawdziwy pasek nawigacyjny. – LoneDuck

1

jeśli używasz Pasek działań sherlock i chcesz przełączyć to z funkcji FragmentActivity, następnie wywołasz

getSherlockActivity().getSupportActionBar().hide(); 
4

umieścić to na swojej działalności oczywistej definicji:

<activity 
      android:name=".MyActivity" 
      android:theme="@android:style/Theme.NoTitleBar.Fullscreen" 
      > 

następnie wewnątrz OnCreate to zrobić, aby pokazać rzeczywisty motyw, który ma być używany:

setTheme(R.style.AppTheme); 
Powiązane problemy