博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android 使用SystemBarTint设置状态栏颜色
阅读量:6152 次
发布时间:2019-06-21

本文共 1707 字,大约阅读时间需要 5 分钟。

   做项目时,发现APP的状态栏是系统默认的颜色,突然想到,为啥别的APP是自己设置的颜色(和APP本身很相搭),于是也想给自己的APP设置系统状态栏的颜色,更加美美哒。。。

  搜了下,发现原来设置状态栏居然有个很高大上的名字(听不懂的都是高大上)——沉浸式状态栏,Android4.4以后开始支持沉浸式状态栏, 继续搜索,发现,有一个很简单的开源项目——SystemBarTint,可以很完美的支持沉浸式状态栏。

    SystemBarTint地址: 

    

下面,简单演示下如何使用该库,首先,先看下效果,有图才有真相:

1.  引入类库

    使用Android Studio,直接在build.gradle文件中引入库: 

    

dependencies {    compile 'com.readystatesoftware.systembartint:systembartint:1.0.3'}

   使用Eclipse,可下载包,并引入到项目的libs文件夹中。

2.  在Activity中添加方法:

/**     * Apply KitKat specific translucency.     */    private void applyKitKatTranslucency() {        // KitKat translucent navigation/status bar.        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {            setTranslucentStatus(true);            SystemBarTintManager mTintManager = new SystemBarTintManager(this);            mTintManager.setStatusBarTintEnabled(true);            mTintManager.setStatusBarTintResource(R.color.colorTop);//通知栏所需颜色        }    }    @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);    }
然后, 在OnCreate()方法中调用applyKitKatTranslucency方法:

@Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        applyKitKatTranslucency();    }

3.  在style.xml中,添加系统的样式:

当然了,别忘了在AndroidManifest.xml进行配置主题:

注: 这个是必要的,如果不添加,会造成一些页面的变形。

综上, 便可以在4.4以上的系统中方便的设置状态栏颜色,有木有感觉你的APP变得更好看了呢!

你可能感兴趣的文章
网络命令netstat
查看>>
阿里云SSL安全替换
查看>>
sklearn_tfidf_CountVectorizer 与 TfidfTransformer
查看>>
根据业务定制自动安装CentOS
查看>>
参加51CTO学院软考培训通过后的感想
查看>>
mount 命令
查看>>
Zabbix基于Proxy分布式部署实现Web监控
查看>>
python版春节倒计时实时显示
查看>>
CentOS 6.5下dhcp服务器搭建与配置
查看>>
Python 处理 Excel
查看>>
多态要满足三个条件
查看>>
java heap size:设定运行时的堆大小
查看>>
kickstart命令选项
查看>>
java --List<Object>去重
查看>>
linux shell下除了某个文件外的其他文件全部删除的命令
查看>>
Kendo UI常用示例汇总(二十)
查看>>
七.网络
查看>>
1.网站综合***_Discuz!
查看>>
我的友情链接
查看>>
《Inside C#》笔记(六) 属性、数组、索引器
查看>>