SystemBarTint的使用(设置半透明状态栏)
来源:互联网 发布:js 让网页不停的点击 编辑:程序博客网 时间:2024/06/01 22:33
1.在系统是4.4以上的系统,包括4.4开始可以设置半透明的状态栏了
代码:
或者在style中设置主题:
但是设置了这两个属性之后,布局里面的view会自动向上移动,显示在透明状态栏下面(就相当于状态栏外层是framlayout),为了防止这种现象,可以在主题中或者xml设置:
这样布局里的view不会有任何移动,(就相当于状态栏外层是linearlayout)。注意:在主题中设置该属性会导致toast的显示有异常,最好在布局的最外层设置设置了如上后:
由于使用了Theme.AppCompat.Light.DarkActionBar的主题,默认设置colorPrimaryDark的颜色:
所以代码设置的半透明效果被上面设置的颜色覆盖了如果设置了:
设置了透明后就可以很好的显示了
2.为了兼容地版本,可以使用开源的框架SystemBarTint来实现(这个也只是兼容19以上的版本)
在api 19中是可以通过
(1).
这个设置状态栏半透明,然后在布局中设置:这样状态栏就设置了半透明,且状态栏与下面的view都是线性排列,这种情况下不能主动设置状态栏的颜色,也不能通过布局中的左边menu以及中间主view的背景来改变状态栏的颜色。(2).
依旧设置:
如果在actvity的主题中设置:
这样也是状态栏就设置了半透明,且状态栏与下面的view都是线性排列,这种情况下不能主动设置状态栏的颜色,只能通过设置布局中左边menu以及中间主view的背景来改变状态栏的颜色,但是仔细看还是有一层半透明的颜色覆盖在上面,因为我们无法直接修改状态栏的颜色。
(3).如果用SystemBarTint开源类,我们就可以主动改变状态栏的颜色,但是只能设置单色,不能像上面一样随着背景的改变而改变。
1.需要在主题中设置:
这个其实就是设置了:就相当于在代码中设置,需要在在setContentView(layoutResID)之前调用2.然后在布局的最外层或者activity的主题中设置:
3.然后在setContentView(layoutResID)之后调用代码:
实现二度效果:下面再使用如下主题的情况下:
1.values不需要设置2.values-v19
布局中需要设置看效果与第一张类似,只是左边菜单划出的时候状态栏上面有暗色的阴影
3.values-v21
布局最外层需要设置这个效果和上面的事一样的(都是沉浸的效果) 0 0
- SystemBarTint的使用(设置半透明状态栏)
- SystemBarTint的使用(设置半透明状态栏)
- SystemBarTint的使用(设置半透明状态栏)
- SystemBarTint的使用(设置半透明状态栏)
- Android 使用SystemBarTint设置状态栏颜色
- Android 使用SystemBarTint设置状态栏颜色
- 沉浸式状态栏的设定-com.readystatesoftware.systembartint:systembartint 的使用
- android透明状态栏与开源库SystemBarTint的使用
- SystemBarTint的使用
- Translucent System Bar 半透明状态栏的使用
- Android沉浸式状态栏SystemBarTint的使用方法
- Android沉浸式状态栏SystemBarTint的使用方法
- Android沉浸式状态栏SystemBarTint的使用方法
- Android沉浸式状态栏SystemBarTint的使用方法
- Android沉浸式通知栏的一个开源库SystemBarTint简单使用,android沉浸式状态栏
- Android头部状态栏SystemBarTint
- SystemBarTint沉浸式状态栏
- Android使用systembartint库实现沉浸式状态栏效果
- 注解分类和定义
- Matlab里evalin和assignin的用法
- springmvc+mybaits+mysql+redis环境搭建
- Mac系统Android M源码编译并导入Android Studio查看
- java从字符串中提取数字
- SystemBarTint的使用(设置半透明状态栏)
- Codeforces 710E Generate a String(dp或bfs)
- Educational Codeforces Round 16 A. King Moves
- Android studio Gradle使用NDK 示例Speex
- Leetcode 3 Longest Substring Without Repeating Characters
- C#基础知识(三)匿名类型var
- 奥运测手速小游戏(傅女神)
- mini2440 第一篇
- Linux下连接Mysql出现:Access denied for user 'root'@'localhost' (using password:YES)的解决方法