Android 6.0 以上实现状态栏白底黑字 「白色标题栏 App 享受 iOS 般的沉浸体验」
前言: 其实我挺不愿意起这个标题的,为什么 Android 非要做的跟 iOS 一样, 但是对于状态栏这个颜色这个需求我想还是有必要像 iOS 学习一下,毕竟 5.0 之前,状态栏万年黑色的样子的确和大部分 App 的主题样式有点不太融合, 但是最近受到产品的大哥在玩小密圈,看到他们的状态栏效果,所以让我也实现下也这样的效果 O(∩_∩)O~。
网上关于「沉浸式状态栏」「透明状态栏」的文章 Google 一搜一大把。文章的开头先给大家列举一下几个常见的实现方式吧:
- 如果你的 App 需要考虑 Android 4.4 版本的状态栏颜色改变,那么就请移步这个第三方库 SystemBarTint;
- 如果你的 App 仅需要考虑 Android 5.0 版本以上的状态栏颜色适配,这里推荐一个简单实用的实现方式,薄荷TOOLBAR(ACTIONBAR)的适配方案
薄荷公司 statueBar 的适配方案
之前我们的 App 刚开始搭建的时候采用的是,薄荷公司的状态栏适配方式,主要思路是:
设置主题状态栏背景透明,在 values-v19 的文件夹下新建一个 style 文件,
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar"> <item name="android:windowTranslucentStatus">true</item> </style>
设置并在该文件夹下添加 dimens 文件,设置 toolbar padding 为24dp
<dimen name="toolbar_padding_top">24dp</dimen>
在 values 文件夹设置同名 dimens 的值为 0dp
<dimen name="toolbar_padding_top">0dp</dimen>
该属性需要在你的 Toolbar 中设置一下 paddingTop 并引用该 dimens 值,这样在不同版本的手机上,就会自动选择不同的值。
并在app中的 baseActivity 类中实现如下代码:
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate</