默認狀況下,action bar出如今activity窗口的頂部,略微減小了activity布局的總空間。若是你想隱藏或者顯示action bar,在這堂用戶體驗的課程中,你能夠經過調用html
Figure 1.?Gallery's action bar in overlay mode.android
為了不在action bar隱藏或顯示時調整你的布局,你能夠為你的action bar啟用overlay mode。在overlay 模式下,你的activity布局將會使用整個可用空間,就像action bar不存在同樣,同時系統將action bar繪制在你的activity前面。這樣蓋住了頂部的一些布局,可是如今當你的action bar隱藏或顯示時,系統不會調整你的布局,而且這個過渡是無縫的。app
貼士:?若是你想讓你的布局在action bar背后部分可見,能夠為action bar建立一個半透明的自定義樣式,就像圖1顯示的那樣。更多關于如何為action bar設置背景樣式,請參閱ide
啟用Overlay Mode
要為action bar啟用overlay mode,你須要建立一個繼承自已有的action bar主題的自定義主題,而且設置android:windowActionBarOverlay?屬性為true。布局
Android 3.0及以上版本
若是你的?minSdkVersion?被設置為11?或者更高,你的自定義主題須要繼承自ui
true
Android 2.1及以上版本
若是你的應用使用Support Library 類兼容運行于低于Android 3.0版本之下的設備,你的自定義主題須要繼承自主題(或者它的子主題)。例如:spa
truetrue
一樣注意這個主題包含兩種?windowActionBarOverlay?樣式的定義:一次以android:為前綴,一次不用。以android:為前綴適用于那些系統平臺提供相應style的android版本,沒有前綴的適用于那些從Support Library讀取樣式的老版本。.net
指定布局的頂端間距
當action bar在overlay mode下時,它可能擋住了那些須要顯示的布局。要確保這種布局始終處于action bar的下方,使用code
...
若是你使用的是Support Library,你須要移除android:?前綴。例如:xml
...
在這種狀況下, 沒有前綴的?attr/actionBarSize?的值在全部版本中都有效,包括Android 3.0 以及更過版本。