Android关于沉浸式的个人理解
2016-09-12 12:47
351 查看
之前的项目中玩过几次沉浸式的设计。最近看了hongyang和郭神的关于沉浸式的介绍,又有了新的认识。遂整理之。
Android机型的原因,我将分成两部分,
(1)4.4之后5.0之前的版本。
在4.4之后,Android提供了windowTranslucentStatus属性,该属性可以将statusbar即状态栏设置成半透明的状态效果。我们只需要在values-v19下添加该属性即可。
(2)5.0之后的版本。
5.0之后,Android提供了setStatusbarColor()方法允许我们修改状态栏的颜色,但是修改状态栏颜色和windowTranslucentStatus属性不能共存。所以,当我们要修改状态栏颜色的时候,我们需要去掉windowTranslucentStatus属性。
Android中最多的设计还是利用状态栏区域,将布局内容显示到状态栏区域。如何实现呢?很简单,只需要我们添加如下代码即可:
上面分别为19,21的不同使用方式,不过基本大同小异。在开启了透明状态栏之后,还需要对我们的布局文件进行修改,默认情况下布局内容是会占据状态栏区域,在布局文件中设置fitsSystemWindows为true即可。
ok,以上就我是我个人理解。
Android机型的原因,我将分成两部分,
(1)4.4之后5.0之前的版本。
在4.4之后,Android提供了windowTranslucentStatus属性,该属性可以将statusbar即状态栏设置成半透明的状态效果。我们只需要在values-v19下添加该属性即可。
if(Build.VERSION.SDK_INT >= 19) { getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS); }
(2)5.0之后的版本。
5.0之后,Android提供了setStatusbarColor()方法允许我们修改状态栏的颜色,但是修改状态栏颜色和windowTranslucentStatus属性不能共存。所以,当我们要修改状态栏颜色的时候,我们需要去掉windowTranslucentStatus属性。
Android中最多的设计还是利用状态栏区域,将布局内容显示到状态栏区域。如何实现呢?很简单,只需要我们添加如下代码即可:
if(Build.VERSION.SDK_INT >= 21) { View decorView = getWindow().getDecorView(); int option = View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN | View.SYSTEM_UI_FLAG_LAYOUT_STABLE; decorView.setSystemUiVisibility(option); }
上面分别为19,21的不同使用方式,不过基本大同小异。在开启了透明状态栏之后,还需要对我们的布局文件进行修改,默认情况下布局内容是会占据状态栏区域,在布局文件中设置fitsSystemWindows为true即可。
ok,以上就我是我个人理解。
相关文章推荐
- 关于android service的个人理解
- 关于Android中View滑动知识的一点个人理解
- 关于Android焦点的个人理解,希望大家来指正。
- 关于android学习的个人理解
- Android关于looper的几个方法的个人理解
- 关于android的设计模式---MVP的个人理解
- 关于android下audioflinger+alsa+a2dp+pcm+bluez+sbc编码理解
- 关于rollup,cube,grouping sets的个人理解
- 关于学好J2SE有啥用的个人理解
- 关于DataRow和DataColumn的一点个人简单理解
- 关于MeeGo和Android的个人计划
- 个人关于“this”关键字的理解
- 关于位域个人理解
- 关于DataRow和DataColumn的一点个人简单理解-.NET教程,数据库应用
- 理解矩阵(个人认为这是关于矩阵最精彩的理解,推荐~~)
- 关于DataRow和DataColumn的一点个人简单理解
- 【原创】关于操作符重载的一些个人理解
- 关于CLASSPATH的个人理解
- Spring特点中关于DI,IOC及AOP的个人理解
- 关于Bellman最优化原理和动态规划的个人理解