我一直在寻找关于这个问题的答案两天,但我没找到。
我正在尝试隐藏操作栏以便正确显示图像,但每当我隐藏/显示操作栏时,活动会在底部显示一个空白区域。我知道发生这种情况是因为窗口调整了hide / show action bar事件的大小,这也是来自Android的默认动画,但我需要更改该颜色(黑色)或不显示此空白区域。但是我怎么能这样做呢?
我尝试将活动背景设置为黑色,但仍然无效。
E.g。今日美国应用程序在“图片日”
部分进行请帮助任何帮助!
提前致谢。
答案 0 :(得分:0)
您是否尝试过设置操作栏以覆盖内容区域而不是放在其上?在你的onCreate()中,在调用super.onCreate()之后在顶部添加它:
getWindow().requestFeature(Window.FEATURE_ACTION_BAR_OVERLAY);
答案 1 :(得分:0)
这段代码对我来说就像一个魅力
// This snippet hides the system bars.
private void hideSystemUI() {
// Set the IMMERSIVE flag.
// Set the content to appear under the system bars so that the content
// doesn't resize when the system bars hide and show.
View decorView = getWindow().getDecorView();
decorView.setSystemUiVisibility(
View.SYSTEM_UI_FLAG_LAYOUT_STABLE
| View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
| View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
| View.SYSTEM_UI_FLAG_HIDE_NAVIGATION // hide nav bar
| View.SYSTEM_UI_FLAG_FULLSCREEN // hide status bar
| View.SYSTEM_UI_FLAG_IMMERSIVE);
}
private void showSystemUI() {
//make nav bar transparent
Window window = getWindow();
window.setFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION, WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION);
View decorView = window.getDecorView();
decorView.setSystemUiVisibility(
View.SYSTEM_UI_FLAG_LAYOUT_STABLE
| View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
| View.SYSTEM_UI_FLAG_IMMERSIVE
| View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN);
}
答案 2 :(得分:-2)
没有必要做Karakuri建议的事情;隐藏操作栏中的所有菜单项,栏将消失。