2013-01-11 23 views
8

Ho un'attività in cui la barra delle azioni è nascosta e quando faccio clic su un pulsante voglio che sia visibile, ma non voglio che l'attività di layout scorra verso il basso, la barra deve sovrapporsi . Come posso fare una cosa del genere?Android: sovrapposizione della barra delle azioni Layout attività

per nascondere la barra io uso

actionbar.hide(); 
getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LOW_PROFILE); 

e di renderla visibile:

actionbar.show(); 
getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_VISIBLE); 

mio layout è solo

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    > 

    <MyPager 
     xmlns:android="http://schemas.android.com/apk/res/android" 
     android:id="@+id/pager" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" > 
    <MyPager> 

</RelativeLayout> 

Grazie in anticipo.

+0

Incollare codice o layout, è troppo difficile dire qualcosa in base a questa descrizione. – Egor

risposta

30

Probabilmente si sta cercando il ActionBar modalità sovrapposizione. Abilitalo per un singolo Activity chiamando requestWindowFeature(Window.FEATURE_ACTION_BAR_OVERLAY); prima del setContentView(). O in un tema impostando android:windowActionBarOverlay a true.

+0

Eccellente, proprio quello di cui avevo bisogno. – DLock

+1

Nel mio caso dovevo anche inserire 'requestWindowFeature (Window.FEATURE_ACTION_BAR_OVERLAY);' prima di 'super.onCreate (savedInstanceState);' –

0

Creare un RelativeLayout per il layout principale dell'attività e posizionare la barra delle azioni nella parte superiore del layout che verrà sovrapposta al contenuto dell'attività principale come mostrato nell'esempio seguente.

Il RelativeLayout consente di posizionare gli elementi, ma consente anche di determinare l'ordine z-index degli elementi della vista in base a tale ordine dall'alto verso il basso, vale a dire quali viste si trovano davanti/dietro agli altri.

<RelativeLayout 
    android:id="@+id/parent_layout" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent"> 
    <LinearLayout 
     android:id="@+id/action_bar_layout" 
     android:layout_width="match_parent" 
     android:layout_height="100dp"> 

    </LinearLayout> 
    <LinearLayout 
     android:id="@+id/main_activity_content_layout" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent"> 

    </LinearLayout> 
</RelativeLayout> 

Ora è possibile nascondere/mostrare l'action_bar_layout e non effettuerà la positon del contenuto attività main_activity_content_layout (utilizzando il metodo() del layout setVisibility)

0

Per Google Play Store come effetto, prova a ...

  • Prova this nuovo widget Toolbar introdotta nel Lollipop (Livello API 21)
  • che è supportato anche da this api nelle versioni precedenti di Android.
Problemi correlati