默認(rèn)情況下,action bar 顯示在 activity 窗口的頂部,會稍微地減少其他布局的有效空間卷中。如果在用戶交互過程中要隱藏和顯示 action bar矛双,可以通過調(diào)用ActionBar中的hide()和show()來實現(xiàn)。但是蟆豫,這將導(dǎo)致 activity 基于新尺寸重新計算與繪制布局背零。
為避免在 action bar 隱藏和顯示過程中調(diào)整布局的大小,可以為 action bar 啟用疊加模式(overlay mode)无埃。在疊加模式下徙瓶,所有可用的空間都會被用來布局就像ActionBar不存在一樣,并且 action bar 會疊加在布局之上嫉称。這樣布局頂部就會有點被遮擋侦镇,但當(dāng) action bar 隱藏或顯示時,系統(tǒng)不再需要調(diào)整布局而是無縫過渡织阅。
啟用疊加模式(Overlay Mode)
要為 action bar 啟用疊加模式壳繁,需要自定義一個主題,該主題繼承于已經(jīng)存在的 action bar 主題荔棉,并設(shè)置android:windowActionBarOverlay屬性的值為true闹炉。
僅支持 Android 3.0 和以上
如果minSdkVersion為11或更高,自定義主題必須繼承Theme.Holo主題(或者其子主題)润樱。例如:
指定布局的頂部邊距
當(dāng) action bar 啟用疊加模式時渣触,它可能會遮擋住本應(yīng)保持可見狀態(tài)的布局。為了確保這些布局始終位于 action bar 下部壹若,可以使用actionBarSize屬性來指定頂部margin或padding的高度來到達(dá)嗅钻。例如:
源地址:http://wiki.jikexueyuan.com/project/android-training-geek/overlaying.html