android 沉浸式状态栏
来源:互联网 发布:phpcurl post json 编辑:程序博客网 时间:2024/06/07 23:35
在开发过程中, 有的时候会出现需求就是将状态栏和标题栏一样的颜色.下面给出实现代码
PS:有的时候可能会出现让你实现白色的状态栏, 那你就可以告诉你的UI或者产品了, 你做不到.在我知道的里面,好像只有魅族和小米能够实现.其他的手机型号是不能将上方的电池栏里面东西变成黑色的.白色的沉浸式状态栏只能实现成灰白色的.
导入依赖:compile ‘com.gyf.barlibrary:barlibrary:2.2.5’
1.在你的Activity的onCreate()和onDestroy()方法中加入如下代码.
@Override protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); //初始化,默认透明状态栏和黑色导航栏 ImmersionBar.with(this).init(); } @Override protected void onDestroy() { super.onDestroy(); //不调用该方法,如果界面bar发生改变,在不关闭app的情况下,退出此界面再进入将记忆最后一次bar改变的状态 ImmersionBar.with(this).destroy(); }
2.上面的如果不能满足你的需求 那么可以自定义一些属性
ImmersionBar.with(this) .transparentStatusBar() //透明状态栏,不写默认透明色 .transparentNavigationBar() //透明导航栏,不写默认黑色 .transparentBar() //透明状态栏和导航栏,不写默认状态栏为透明色,导航栏为黑色 .statusBarColor(R.color.colorPrimary) //状态栏颜色,不写默认透明色 .navigationBarColor(R.color.colorPrimary) //导航栏颜色,不写默认黑色 .barColor(R.color.colorPrimary) //同时自定义状态栏和导航栏颜色 .statusBarAlpha(0.3f) //状态栏透明度,不写默认0.0f .navigationBarAlpha(0.4f) //导航栏透明度,不写默认0.0F .barAlpha(0.3f) //状态栏和导航栏透明度,不写默认0.0f .statusBarDarkFont(true) //状态栏字体是深色,不写默认为亮色 .flymeOSStatusBarFontColor(R.color.btn3) //修改flyme OS状态栏字体颜色 .fullScreen(true) //有导航栏的情况下,activity全屏显示 .hideBar(BarHide.FLAG_HIDE_BAR) //隐藏状态栏或导航栏或两者,不写默认不隐藏 .addViewSupportTransformColor(toolbar) //设置支持view变色,可以添加多个view,不指定颜色,默认和状态栏同色,还有两个重载方法 .titleBar(view) //解决状态栏和布局重叠问题,任选其一 .statusBarView(view) //解决状态栏和布局重叠问题,任选其一 .fitsSystemWindows(true) //解决状态栏和布局重叠问题,任选其一,默认为false,当为true时一定要指定statusBarColor(),不然状态栏为透明色 .supportActionBar(true) //支持ActionBar使用 .statusBarColorTransform(R.color.orange) //状态栏变色后的颜色 .navigationBarColorTransform(R.color.orange) //导航栏变色后的颜色 .barColorTransform(R.color.orange) //状态栏和导航栏变色后的颜色 .removeSupportView(toolbar) //移除指定view支持 .removeSupportAllView() //移除全部view支持 .addTag("tag") //给以上设置的参数打标记 .getTag("tag") //根据tag获得沉浸式参数 .reset() //重置所以沉浸式参数 .keyboardEnable(true) //解决软键盘与底部输入框冲突问题,默认为false .init(); //必须调用方可沉浸式
3.写到这里就可以实现沉浸式状态栏了, 但是你会发现你的界面会从屏幕最上方开始浦建,导致你的状态栏会覆盖你的部分布局
解决办法:在你的XML文件的根布局上加入代码
android:fitsSystemWindows="true"
阅读全文
0 0
- Android 沉浸式状态栏
- android 沉浸式 状态栏
- android 沉浸式状态栏
- android沉浸式状态栏
- Android沉浸式状态栏
- Android 沉浸式状态栏
- android 沉浸式状态栏
- Android沉浸式状态栏
- Android沉浸式状态栏
- Android 沉浸式状态栏
- Android沉浸式状态栏
- android 沉浸式状态栏
- android 沉浸式状态栏
- Android沉浸式状态栏
- android沉浸式状态栏
- Android 沉浸式状态栏
- android沉浸式状态栏
- Android沉浸式状态栏
- Android 一个改善的okHttp封装库
- iframe的父子层级之间的调用
- 【POJ 1651】Multiplication Puzzle
- 关于encodeURIComponent 编码的问题
- 大批量数据如何短时间高效的进入数据库,jdbc的batch 以及orcale的mergo into
- android 沉浸式状态栏
- 用友NC63界面新增按钮实现方法(转)
- mysql 性能分析之explain详解
- 什么是跨域?怎么解决跨域问题?
- 深度学习笔记——理论与推导之Backpropagation(二)
- 使用commitizen的正确姿势
- redis学习入门(很多未补充的和有错误请大家多多指教和包涵,谢谢)
- 锋利的jqueryCH6---jquery与ajax的应用
- Python的with...as的用法