修改状态栏颜色和状态栏字体颜色
16lz
2022-03-06
一个activity多个fragment,修改每个fragment的状态栏颜色和状态栏字体的颜色
1、设置activity的状态栏透明,设置activity的theme
value-v19.xml
value-v21.xml
2、设置fragment布局文件的根元素
android:background="#176ce0"
android:fitsSystemWindows="true"
android:clipToPadding="true"
android:paddingTop="20dp"
//这个暂时写死20dp,实际上应该是状态栏的高度,可以在代码里面获取状态栏高度,然后在这个布局加个高度为状态栏高度的view占位
3、在activity的ViewPager的OnPageChangeListener里面的onPageSelected()函数设置状态栏字体颜色(以下方法只适用于6.0及以上系统)
/**
* Flag只有在使用了FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS
* 并且没有使用 FLAG_TRANSLUCENT_STATUS的时候才有效,也就是只有在状态栏全透明的时候才有效。
*
* @param activity
* @param bDark bDark为true时是黑色的字,为false时是白色的字
*/
public static void setStatusBarMode(Activity activity, boolean bDark) {
//6.0以上
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
View decorView = activity.getWindow().getDecorView();
if (decorView != null) {
int vis = decorView.getSystemUiVisibility();
if (bDark) {
vis |= View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR;
} else {
vis &= ~View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR;
}
decorView.setSystemUiVisibility(vis);
}
}
}
1、设置activity的状态栏透明,设置activity的theme
value-v19.xml
value-v21.xml
2、设置fragment布局文件的根元素
android:background="#176ce0"
android:fitsSystemWindows="true"
android:clipToPadding="true"
android:paddingTop="20dp"
//这个暂时写死20dp,实际上应该是状态栏的高度,可以在代码里面获取状态栏高度,然后在这个布局加个高度为状态栏高度的view占位
3、在activity的ViewPager的OnPageChangeListener里面的onPageSelected()函数设置状态栏字体颜色(以下方法只适用于6.0及以上系统)
/**
* Flag只有在使用了FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS
* 并且没有使用 FLAG_TRANSLUCENT_STATUS的时候才有效,也就是只有在状态栏全透明的时候才有效。
*
* @param activity
* @param bDark bDark为true时是黑色的字,为false时是白色的字
*/
public static void setStatusBarMode(Activity activity, boolean bDark) {
//6.0以上
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
View decorView = activity.getWindow().getDecorView();
if (decorView != null) {
int vis = decorView.getSystemUiVisibility();
if (bDark) {
vis |= View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR;
} else {
vis &= ~View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR;
}
decorView.setSystemUiVisibility(vis);
}
}
}
更多相关文章
- Android第一次引导页设置
- android 设置进入全屏,取消全屏的几种方式
- android 中RGB颜色值得设定
- 关于在Android设置全局变量随时获取context
- 修改Android(安卓)EditText光标颜色
- listview更改选中时item背景色的两种方式
- android霓虹灯源代码——基础编
- Android(安卓)Studio 设置控件和颜色透明度
- android 4中新增的日历处理相关API