我在AndroidManifest.xml中设置了“android:uiOptions =”splitActionBarWhenNarrow“。 因此,如果设备没有足够的空间,操作栏将分为两部分。
有时,我想通过调用 getActionBar()。hide()隐藏操作栏。但它会在底部留下一个丑陋的白色空间。我怎么能摆脱它?
我尝试调用 getActivity()。getWindow()。requestFeature(Window.FEATURE_ACTION_BAR_OVERLAY),但它会阻止我的webview内容。
答案 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屏幕中等像素分辨率