2013-01-11 69 views
8

我有一個活動,其中的操作欄是隱藏的,當我點擊一個按鈕我希望它是可見的,但我不希望佈局活動向下滾動,欄必須重疊。 我該怎麼做這樣的事情?Android:使操作欄重疊活動佈局

要隱藏欄我使用

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

,並使其可見:

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

我的佈局僅僅是

<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> 

在此先感謝。

+0

粘貼一些代碼或佈局,根據這個描述很難說些什麼。 – Egor

回答

30

您可能正在尋找ActionBar覆蓋模式。通過在setContentView()之前撥打requestWindowFeature(Window.FEATURE_ACTION_BAR_OVERLAY);來啓用一個Activity。或者在主題中將android:windowActionBarOverlay設置爲true

+0

優秀,正是我需要的。 – DLock

+1

在我的情況下,我還必須在'super.onCreate(savedInstanceState);'之前放置'requestWindowFeature(Window.FEATURE_ACTION_BAR_OVERLAY);''' –

0

爲活動的父級佈局創建一個RelativeLayout,並將您的操作欄放置在佈局頂部,將其覆蓋在主活動內容的頂部,如下例所示。

RelativeLayout允許您定位元素,但也允許您按順序從上到下確定視圖元素的z-index順序,即哪些視圖位於其他視圖的前面/後面。

<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> 

現在你可以隱藏/顯示action_bar_layout,它不會影響main_activity_content_layout活動內容的當前位置(通過使用setVisibility佈局()方法)

0

對於谷歌Play商店般的效果,嘗試...

  • 嘗試在棒棒堂推出this新的工具欄插件(API等級21)
  • 這也是由this API在早期版本的Android的支持。