设置状态栏字体颜色
/**
* 界面设置状态栏字体颜色
*/
public void changeStatusBarTextColor(boolean isBlack) {
if (isBlack) {
//设置状态栏黑色字体
getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR);
} else {
//恢复状态栏白色字体
getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_VISIBLE);
}
}
隐藏底部导航栏和横条
BarUtils.transparentStatusBar(activity);//设置状态栏透明
View decorView = activity.getWindow().getDecorView();
decorView.setSystemUiVisibility(
View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY //(修改这个选项,可以设置不同模式)
//使用下面三个参数,可以使内容显示在system bar的下面,防止system bar显示或
//隐藏时,Activity的大小被resize。
| View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
| View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR//设置状态栏字体颜色:黑色
// 隐藏导航栏和状态栏
| View.SYSTEM_UI_FLAG_HIDE_NAVIGATION);
BarUtils
同时也可以使用工具类BarUtils
/*BarUtils.transparentStatusBar(activity);
//BarUtils.transparentStatusBar(activity.getWindow());
//BarUtils.setNavBarColor(activity, R.color.zxing_transparent);
//BarUtils.setNavBarColor(activity.getWindow(),android.R.color.transparent);
//BarUtils.setNavBarColor(activity,activity.getResources().getColor(android.R.color.transparent));
BarUtils.setNavBarVisibility(activity,false);
BarUtils.setNavBarVisibility(activity.getWindow(),false);*/
application的manifest需要设置样式主题
<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<!-- Customize your theme here. -->
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
<item name="windowActionBar">false</item>
<item name="windowNoTitle">true</item>
<!--<item name="android:navigationBarColor" tools:targetApi="lollipop">@android:color/transparent</item>-->
<!--<item name="android:windowBackground">@android:color/black</item>-->
<!--设置状态栏字体为黑色-->
<item name="android:windowLightStatusBar" tools:targetApi="m">true</item>
</style>
这里是大概的设置
网友评论