状态栏变白色,状态栏图标变黑色。
来源:互联网 发布:湄公河大案 知乎 编辑:程序博客网 时间:2024/04/28 12:39
前几天下的简书app,昨天玩手机发现它的状态栏是白色的,图标是黑色。用nexus6p和荣耀6试了下都是可以的。
今天来查资料发现,M版以上是支持状态栏图标变色的。m版新增Flag:SYSTEM_UI_FLAG_LIGHT_STATUS_BAR
代码:
public void setDarkStatusIcon(boolean bDark) {
if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.M){
View decorView = getWindow().getDecorView();
getWindow().setStatusBarColor(getResources().getColor(android.R.color.white));//这里对应的是状态栏的颜色,就是style中colorPrimaryDark的颜色
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);
}
}
}
public static final int SYSTEM_UI_FLAG_LIGHT_STATUS_BAR
Flag for setSystemUiVisibility(int)
: Requests the status bar to draw in a mode that is compatible with light status bar backgrounds.
For this to take effect, the window must request FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS
but not FLAG_TRANSLUCENT_STATUS
.
See Also
windowLightStatusBar
FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS
but not FLAG_TRANSLUCENT_STATUS
.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS
和FLAG_TRANSLUCENT_STATUS都是WindowManager.LayoutParams里面的flag,第一个我没有设置生效了,第二个与取的主题有关。我用的NoActionBar。第一个没有设置不知道为什么也生效了?- 状态栏变白色,状态栏图标变黑色。
- MFC状态栏设置图标自动变高
- BMP图片反转(黑色变白色,白色变黑色)
- iOS - UIStatusBar 状态栏设置黑色+白色
- 状态栏的图标变成黑色
- 状态栏白色
- 白色状态栏
- android5.0状态栏图标变成白色
- FAQ15497]三方App状态栏显示白色,看不到状态栏图标
- win7图标变白色的解决办法
- android 通知栏图标变白色方格
- ios--状态栏统一样式:黑色背景白色字体
- ios设置更改状态栏字体颜色(黑色或白色)
- android 5.0以上通知栏、状态栏图标变成白色
- android 5.0以上通知栏、状态栏图标变成白色
- android 5.0以上通知栏、状态栏图标变成白色
- PS将android图标白色背景变透明
- 修改状态栏为白色
- java.lang.NoClassDefFoundError: org/apache/ibatis
- Abbott's Revenge UVA 816(图 BFS)
- Nginx事件模块小结
- 根据经纬度计算距离
- maven+springMVC+jdbc实现用户登录
- 状态栏变白色,状态栏图标变黑色。
- 空城计即将开始
- 设计模式之禅——门面模式
- 在window7下配置odoo项目
- Macro & Micro, P, R, F1
- oracle 视图的本质
- Web前端的状态管理(State Management)
- 微信小程序开发遇到一些问题
- ActiveMQ点对点及topic使用