一个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. Android Studio 设置控件和颜色透明度
  2. android 中RGB颜色值得设定
  3. Android中的界面布局之帧布局,相对布局
  4. 学习Android从0开始之基础篇(3)-视图组件之布局管理器
  5. Android TextView字体颜色等样式详解
  6. 设置ProgressBar的颜色
  7. Android界面开发推荐颜色

随机推荐

  1. mysql 错误号码1129 解决方法
  2. MYSQL存储过程即常用逻辑知识点总结
  3. MySQL慢SQL语句常见诱因以及解决方法
  4. MySQL中常见的八种SQL错误用法示例
  5. Mysql导入导出时遇到的问题解决
  6. 详解Windows10下载mysql的教程图解
  7. MySQL计算两个日期相差的天数、月数、年
  8. MySQL数值类型溢出的处理方法
  9. MySql 快速插入千万级大数据的方法示例
  10. sql在一个表中添加字段并添加备注的方法