沉浸式状态栏的实现
来源:互联网 发布:全球erp软件排名 编辑:程序博客网 时间:2024/04/29 03:43
沉浸式状态栏,即状态栏和我们的页面融为一体,从而使界面看起来更美观。此功能是Android4.4之后的版本才加入的,所以在使用时需要做条件限制。
代码实现:
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) { // 透明状态栏 getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS); // 透明导航栏 getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION); }
需要注意的是,如果你的环境设置的SDK版本低于4.4(也就是19), 那么上面的Build.VERSION_CODES.KITKAT将会找不到,此时只要修改你的目标SDK的版本即可,AndroidStudio在build.gradle中修改即可:
compileSdkVersion 19
此时编译App,你将会发现沉浸式状态栏已经出现,但是页面却出现了整体上移的情况,导致页面中的内容被状态栏部分覆盖。此时我们只需要在根布局中加入如下属性即可:
android:fitsSystemWindows="true"android:clipToPadding="true"
至此,沉浸式状态栏就已完成。
提示:
如果觉得每个布局文件都加上面的代码很麻烦,当然,确实很麻烦。那么不妨将Java代码写在自定义的BaseActivity的onCreate()方法中,将布局中的那两个属性添加在自定义的Theme中,在AndroidManifest.xml文件中进行配置即可。
注意点:
* 如果应用没有统一的主题或没有统一的ActionBar或NavigationBar,那么将没必要设置沉浸式状态栏;
* 使用了沉浸式状态栏后,页面的布局会发生变化,所以在发布应用前,需要重点对有虚拟按键的手机(如华为)和带有SmartBar的手机(如魅族)进行测试,以避免页面闪烁的问题;
1 0
- 沉浸式状态栏的实现;
- 沉浸式状态栏的实现
- 沉浸式状态栏的实现
- 沉浸式状态栏的实现
- 沉浸式状态栏的实现
- 沉浸式状态栏的实现
- 沉浸式状态栏的实现
- 沉浸式状态栏的实现
- 沉浸状态栏的实现
- 沉浸式状态栏(变色状态栏、透明状态栏)的实现
- 沉浸式状态栏实现
- 沉浸式状态栏实现
- 沉浸式状态栏实现
- 沉浸式状态栏实现
- 实现沉浸式状态栏
- android沉浸式状态栏的实现
- Android沉浸式状态栏的实现
- android沉浸式状态栏的实现
- order by rand() 问题
- 黑马程序员——IO(一)
- AR simple第一个程序详细分析
- VS调试Qt程序时查看变量显示地址值问题解决
- Timus Online Judge 1651 Shortest Subchain
- 沉浸式状态栏的实现
- VC++深入详解学习记录
- POJ 2823 Sliding Window(单调队列)
- java日期时间解析
- 使用AngularJS构建大型Web应用,框架的建议
- android开发中经常看到@Override原来是这个意思
- fireFox在中国的https网站的时候,老会出 ssl_error_unsupported_version 这个错误。
- echart,highcharts,chart.js等chart属性记录
- QT主窗口QMainWindow