默认状况下,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 以及更过版本。