我知道我可以使用动作条覆盖requestFeature(Window.FEATURE_ACTION_BAR_OVERLAY)
并且可以切换/显示在我的屏幕状态栏(通过切换FLAG_FULLSCREEN
和FLAG_FORCE_NOT_FULLSCREEN
)。
这个伟大的工程。 不过,我不希望我的布局,移动的时候我切换状态栏。
我知道,我可以让状态栏“叠加”(虽然不是透明)使用的内容:
WindowManager.LayoutParams.FLAG_LAYOUT_IN_SCREEN
WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS
这工作也很大,除了那,用动作条的情况下,动作条被半切断(预期)的结果 - 它的一半是状态栏下的基本。
所以,我想知道,有没有在这种情况下,以“移动动作条下”通过状态栏的高度呢?
我知道,在最坏的情况下,我可以与布局内的生活自定义视图做到这一点,但我宁愿不做这个(想从动作条中受益)。
谢谢!
所以很明显,你可以在杰利贝恩做到这一点。 谷歌包括在API文档的两个例子。 这里是一个链接: http://developer.android.com/reference/android/view/View.html#setSystemUiVisibility%28int%29
总结:使用setSystemUiVisibility
上的视图切换的可见性(上杰利贝恩+)。
它并不完美,但这是我如何实现你想要什么:
在的onCreate:
getWindow()setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN)。
然后:
private void hideStatusBar() {
getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
getWindow().addFlags(WindowManager.LayoutParams.FLAG_LAYOUT_IN_SCREEN);
}
private void showStatusBar() {
getWindow().clearFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
}
我也有与以下活性的风格:
<style name="readingStyle" parent="@style/Theme.Sherlock">
<item name="android:windowActionBarOverlay">true</item>
<item name="windowActionBarOverlay">true</item>
</style>
您的活动将向下移动时,状态栏显示,但我不认为这是太明显。
为什么你不让它在清单
android:theme="@android:style/Theme.Black.NoTitleBar"
比你的动作条没有状态栏和更多的空间?
放入onCreate()方法的活动这个方法:
getWindow().getDecorView().setSystemUiVisibility(
View.SYSTEM_UI_FLAG_LAYOUT_STABLE
| View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN);
参考: 链接