android4.4 tollbar状态栏透明

因为项目使用到toolbar,因此研究了一下。 android

首先,设置apptheme app

<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar"> <!--状态栏颜色,仅5.0有用-->  <item name="colorPrimaryDark">@color/background_main</item> <!--Toolbar颜色-->  <item name="colorPrimary">@color/background_toolbar</item> <!--返回键样式-->  <item name="drawerArrowStyle">@style/AppTheme.DrawerArrowToggle</item> </style>

 发现这种效果,在android studio的预览里面显示正常,可是实际运行到4.4上,状态栏仍是黑色的。 布局

在网上找了许久,找到了一些资料。 ui

在当前应用透明主题的activity中的onCreate中添加以下代码 spa

//设置状态栏透明 if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) { //透明状态栏  getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS); //透明导航栏  getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION);
}

运行以后app的view直接从屏幕顶端开始布局了。 code

因而在layout里设置该两个属性 ip

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

 再次运行以后,状态栏透明了,状态栏颜色应用如今app主题颜色。 get

又强制设置主题颜色 it

在apptheme中,添加 io

<item name="android:windowBackground">@color/background_main</item>
<item name="android:windowIsTranslucent">true</item>
<item name="android:windowAnimationStyle">@android:style/Animation.Translucent</item>

最后再次运行,发现4.4的程序状态栏能够有我想要的结果了。

若是大神们有好的方法,也能够指导一下。

相关文章
相关标签/搜索