android应用顶部状态栏学习笔记
来源:互联网 发布:机器人编程需要学什么 编辑:程序博客网 时间:2024/05/22 14:26
看了一些关于应用顶部状态栏的文章,在此记录一下
一,修改状态栏的情况有哪些
在android开发中,有时候我们需要对应用打开时手机顶部的状态栏进行一些效果上的改变,比如:改变其背景颜色,使其与应用主色调相同或者不突兀;使状态栏背景色透明,同时使应用的ContentView延伸到状态栏下面。
上面这些需求在Android4.4之后好像才可以,在Android原生系统6.0+,或者MIUI6+,Flyme4+等定制系统才支持状态栏字体修改的。
xml文件实现:
在application节点设置theme属性
android:theme="@style/AppTheme"
在values/theme.xml中
<style name="AppTheme" parent="AppBaseTheme"> <!-- Customize your theme here. --> <item name="colorPrimary">@color/colorPrimary</item> <item name="colorPrimaryDark">@color/colorPrimaryDark</item> <item name="colorAccent">@color/colorAccent</item></style>
在v19/theme.xml中
<style name="AppBaseTheme" parent="Theme.AppCompat.Light.NoActionBar"> <!--contentView的位置上移,状态栏透明--> <item name="android:windowTranslucentStatus">true</item></style>
这样的话整个应用的界面就会上移,状态栏透明。
不过好像对于5.0+的系统以上设置的结果可能不是透明的。我手头有两部手机,一部小米5(7.0系统),一部联想手机(4.4系统),以上设置均可实现界面上移,状态栏透明。(这个后面会附上其它好文)
二,项目中开发
上一家公司开发项目时,设计图上是顶部的状态栏的颜色和应用头部背景色一致,用户中心的顶部又要上移到状态栏下方。即前面见到的两张图片。当时想了很久,水平不够,有些东西理解不到。最后只实现了第一张图,未实现第二张图。这周周末想了想觉得没有解决掉总是不好的,所以看了看一些文章,写了个Demo解决下。
代码实现:
思路:继承一个布局,比如LinearLayout,当系统版本是4.4及以上时,设置padding值中的topPadding值为 getPaddingTop() + SystemBarUtils.getStatusBarHeight(getContext());
代码:
private void setInit() { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) { setPadding(getPaddingLeft(), getPaddingTop() + SystemBarUtils.getStatusBarHeight(getContext()), getPaddingRight(), getPaddingBottom()); }}
MainActivity的根布局使用的是LinearLayout,而上面的这个重写的布局是作为里面的前四个个Fragment的布局文件的根布局,UserCenterFragment的根布局也是使用的LinearLayout。
三,上面只是一个学习笔记,水平有限。开发中我们有时也许还要修改状态栏字体颜色。可以参考下一下文章。
Anroid沉浸式状态栏
Android状态栏微技巧,带你真正理解沉浸式模式
Android系统更改状态栏字体颜色
- android应用顶部状态栏学习笔记
- Android学习--系统顶部状态栏透明化
- android 去掉顶部状态栏
- android 去掉顶部状态栏
- android 去掉顶部状态栏
- android 顶部状态栏遮盖
- Android应用开发学习笔记之状态栏通知
- android 自定义顶部状态栏颜色
- Android中隐藏顶部状态栏:
- iOS学习笔记14—设置顶部状态栏(State)的两种方式
- Android 改变顶部状态栏的颜色
- android 获取顶部状态栏 信息 高度
- Android沉浸式状态栏顶部着色
- Android中自定义顶部状态栏颜色
- Android 页面顶部状态栏隐藏和透明
- Android设置顶部状态栏的颜色
- android沉浸状态栏和顶部状态栏背景色的设置
- 《Android学习笔记》Android Studio如何去除顶部标题栏教程
- 解析边界测试技术——健壮性测试、最坏情况测试、健壮最坏情况测试
- 商品展示案例
- POJ 1260 Pearls 笔记
- UML视频之Java定义类的总结
- 网易游戏服务器开发框架 Pomelo
- android应用顶部状态栏学习笔记
- MySql知识点
- 中国大学慕课C语言第四讲作业
- 【DataBase-cluster】Keepalived的配置文件
- Android中xml布局文件中使用include引入布局进行复用(解决使用include布局重叠,颜色设置无效问题)
- Hibernate关联关系映射---1对多
- 浏览器相关(2)- 从输入url到页面展示发生了什么
- Minimum Path Sum
- 多线程时,对控件赋值操作