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

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

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

@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开发中颜色

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Android干货

浅谈DrawerLayout(抽屉效果)

3485
来自专栏Android干货

安卓开发_浅谈SubMenu(子菜单)

2016
来自专栏androidBlog

常用的自定义View例子三(MultiInterfaceView多界面处理)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/gdutxiaoxu/article/details/...

661
来自专栏分享达人秀

ImageSwitcher和TextSwitcher

上一期我们了解了ViewAnimator组件和ViewSwitcher组件的使用,你都掌握了吗?本期一起来学习ViewSwitcher的两个子组件Imag...

2169
来自专栏郭耀华‘s Blog

Android中级教程之----Log详解(Log.v,Log.d,Log.i,Log.w,Log.e)

在Android群里,经常会有人问我,Android Log是怎么用的,今天我就把从网上以及SDK里东拼西凑过来,让大家先一睹为快,希望对大家入门Androi...

36010
来自专栏Hongten

android开发_SimpleAdapter适配器

drawable-hdpi文件夹中的图片是自己加入的。主要是在菜单选项中显示的图片:

902
来自专栏编程之路

羊皮书APP(Android版)开发系列(五)APP引导页实现

1055
来自专栏Android知识点总结

2-VVI-材料设计之CardView

891
来自专栏何俊林

Android View框架总结(一)

View和Activity的区别 View有哪些? ViewGroup是什么? 为什么Google产生ViewGroup? View的层级结构是什么? View...

1885
来自专栏封碎

让自己的Android应用支持appwidget 博客分类: Android AndroidOSAccessUP

经常看到一些教程教你如何写appwidget,但是,你知道你的appwidget是如何被添加到桌面上的吗? 一般的,如果是做桌面的童鞋,基本上都会让自己的...

1113

扫码关注云+社区