(原创)android4.4沉浸式标题栏

本文介绍了一次将红米Note手机升级到MIUI V6后的体验,并分享了如何在Android应用中实现沉浸式标题栏效果的过程。通过调整主题样式和布局属性,使项目的Activity与系统风格无缝融合。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

趁着清明节的闲工夫,把我的百年不升级一次系统的红米note手机升级到了miuiv6的系统,早就听说android4.4的系统有沉浸式标题栏,一直没有体验过。这次终于有机会了。看了几个手机上常用的应用都采用了这个效果,例如qq空间,wps、lbe等。自己也突然手痒痒了一下,想把当前正在做的项目也做成这种效果。

心动不如行动,废话不多说,直接开干就可以了:

我目前做的司信项目所有的activity都继承自一个titileactivity,这个titleactivity封装了一个导航栏,ui给他设计了一个颜色。所以所有的系统的标题栏就跟这个颜色相同就可以了。

我是这样做的:

设置style文件

 1  <style name="ThemeLeftAndRightAnimation" parent="android:Theme.Black">
 2         <item name="android:windowAnimationStyle">@style/left_right_Animation</item>
 3         <item name="android:windowNoTitle">true</item>
 4         <item name="android:actionBarStyle">@style/MyActionBarStyle</item>
 5         <item name="android:windowBackground">@color/navbar</item>
 6         <item name="android:windowTranslucentStatus">true</item>
 7     </style>
 8 
 9     <style name="MyActionBarStyle" parent="@android:style/Widget.Holo.Light.ActionBar.Solid.Inverse">
10         <item name="android:background">@color/navbar</item>
11     </style>

其实就是设置了actionbar的样式以及主题的背景颜色,让他的颜色与我程序的导航栏颜色相同。

接下来在titleactivity的oncreate的setcontentview后加入以下代码:

1 if (VERSION.SDK_INT >= VERSION_CODES.KITKAT) {
2             getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
3             getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION);
4         }

再在titleactivity的xml布局文件中加入以下代码:

android:clipToPadding="true"
android:fitsSystemWindows="true"

这就完了吗,对,就是这么简单。也许你会遇到一些问题,因为actionbar要求的最小api是11.所以你的minsdk必须设置成11.

大功告成了,欣赏一下截图吧

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值