如何隐藏Android中的底部操作栏?

时间:2013-12-18 17:06:23

标签: android android-actionbar

我在AndroidManifest.xml中设置了“android:uiOptions =”splitActionBarWhenNarrow“。 因此,如果设备没有足够的空间,操作栏将分为两部分。

有时,我想通过调用 getActionBar()。hide()隐藏操作栏。但它会在底部留下一个丑陋的白色空间。我怎么能摆脱它?

我尝试调用 getActivity()。getWindow()。requestFeature(Window.FEATURE_ACTION_BAR_OVERLAY),但它会阻止我的webview内容。

Before

After

3 个答案:

答案 0 :(得分:3)

只需简单的工作,只需使用OverLay即可。以你的风格使用它

<style name="AppTheme" parent="@style/Theme.AppCompat">
    <item name="android:windowNoTitle">false</item>
    <item name="android:windowFullscreen">true</item>
    <item name="android:windowActionBarOverlay">true</item>
</style>

或者如果您想通过编程方式执行此操作,请在setContentView()函数之前将其删除

requestWindowFeature(Window.FEATURE_ACTION_BAR_OVERLAY);

并提供一些透明度,因此不会隐藏网页内容。只需阅读样式的文档

http://developer.android.com/training/basics/actionbar/overlaying.html

答案 1 :(得分:1)

尝试从AndroidManifest中的android:uiOptions<application>元素中删除<activity>。另外,删除AndroidManifest中需要的活动的android.support.UI_OPTIONS

答案 2 :(得分:-1)

分割栏只能用api 11隐藏,而另一个我现在在平板电脑上尝试过 它继续在屏幕上,我的平板电脑有android 4 api&gt; 10然后分割条必须在设计布局示例时计算: 对于游戏触摸屏,如平板电脑或手机没有harwdware键,thouch事件x,y必须转换为y = y +分割条的高度,因为窗口的大小是全屏 - splitbar,这会产生很大的不同,如果你有使用画布绘制的图形界面,这意味着你必须检查触摸是否是屏幕按钮的直肠。 并且使用dp像素而不是纯像素,所有绘图maust使用dp转换的像素cordiantes以确保在屏幕和画布上具有相同的coridanate系统 px = dp *(dpi *默认dpi) deafult dpi是160pdi屏幕中等像素分辨率