Android实现浸透式状态栏

1.添加主题

//valuse
<style name="TranslucentTheme" parent="AppTheme">
</style>

// values-v19。v19 开始有 android:windowTranslucentStatus 这个属性
<style name="TranslucentTheme" parent="Theme.AppCompat.Light.NoActionBar">
        <item name="android:windowTranslucentStatus">true</item>
        <item name="android:windowTranslucentNavigation">true</item>(可去掉)
</style>

// values-v21。5.0 以上提供了 setStatusBarColor()  方法设置状态栏颜色。
<style name="TranslucentTheme" parent="Theme.AppCompat.Light.NoActionBar">
    <item name="android:windowTranslucentStatus">false</item>
    <item name="android:windowTranslucentNavigation">true</item>(可去掉)
    <!--Android 5.x开始需要把颜色设置透明,否则导航栏会呈现系统默认的浅灰色-->
    <item name="android:statusBarColor">@android:color/transparent</item>
</style>

2.在BaseActivity里面添加如下两个方法(第一个方法是为了防止应用标题栏浅色与状态栏傻傻分不清;第二个方法是为了解决有些界面与状态栏分层断截)

Android实现浸透式状态栏

3.在标题栏的布局中添加以下属性(防止应用的控件显示在状态栏)

Android实现浸透式状态栏