前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >029android初级篇之android应用的状态栏的颜色

029android初级篇之android应用的状态栏的颜色

作者头像
上善若水.夏
发布2018-09-28 10:41:41
4440
发布2018-09-28 10:41:41
举报
文章被收录于专栏:上善若水上善若水

在代码中实现对状态栏颜色的控制,(只对系统版本在android4.4及以上的有效)

可以创建一个子Activity,其他Activity继承此类,以达到代码重用

代码语言:javascript
复制
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT){
        setTranslucentStatus(true);
        SystemBarTintManager tintManager = new SystemBarTintManager(this);
        tintManager.setStatusBarTintEnabled(true);
        tintManager.setStatusBarTintResource(R.color.transparent);//通知栏所需颜色
    }
    setContentView(R.layout.splash);
}

@TargetApi(19)
private void setTranslucentStatus(boolean on) {
    Window win = getWindow();
    WindowManager.LayoutParams winParams = win.getAttributes();
    final int bits = WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS;
    if (on) {
        winParams.flags |= bits;
    } else {
        winParams.flags &= ~bits;
    }
    win.setAttributes(winParams);
}

其中SystemBarTintManager.java 基于开源项目。项目地址

源码分析

//TODO keng

参考链接

  1. SystemBarTint
  2. 安卓自定义状态栏颜色
  3. 003android初级篇之Android开发中颜色
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2016.01.30 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 源码分析
  • 参考链接
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档