Java 如何使状态栏透明且文本颜色为灰色?
我试图使状态栏完全透明,我成功了,但问题是背景是白色的,这使得状态栏文本和图标不可读!!!所以我想把它变成深灰色和黑色 这使状态栏透明,并使导航按钮可见Java 如何使状态栏透明且文本颜色为灰色?,java,android,user-interface,android-activity,statusbar,Java,Android,User Interface,Android Activity,Statusbar,我试图使状态栏完全透明,我成功了,但问题是背景是白色的,这使得状态栏文本和图标不可读!!!所以我想把它变成深灰色和黑色 这使状态栏透明,并使导航按钮可见 if (VERSION.SDK_INT >= VERSION_CODES.KITKAT) { Window w = getWindow(); w.getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_STABLE | Vie
if (VERSION.SDK_INT >= VERSION_CODES.KITKAT) {
Window w = getWindow();
w.getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_STABLE | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN);
if (VERSION.SDK_INT >= VERSION_CODES.LOLLIPOP) {
w.setStatusBarColor(Color.TRANSPARENT);
}
}
这应该会使状态栏文本和图标变为灰色,但事实并非如此,因为上面的代码阻止了它。。!我想两者兼得
尝试将其添加到你的应用程序中,然后单击“添加”
<item name="android:windowTranslucentStatus">true</item>
<item name="android:windowTranslucentNavigation">true</item>
上面的代码使底部导航按钮成为视图的一部分,这就是为什么我必须在问题中使用代码来防止这种情况发生。见图片
<item name="android:windowTranslucentStatus">true</item>
<item name="android:windowTranslucentNavigation">true</item>
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
Window w = getWindow();
w.setFlags(WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS, WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS);
}