android4.4 tollbar状态栏透明

由于项目使用到toolbar,所以研究了一下。

首先,设置apptheme

<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上,状态栏还是黑色的。

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

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

//设置状态栏透明 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直接从屏幕顶端开始布局了。

于是在layout里设置该两个属性

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

 再次运行之后,状态栏透明了,状态栏颜色应用现在app主题颜色。

又强制设置主题颜色

在apptheme中,添加

<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的程序状态栏可以有我想要的结果了。

如果大神们有好的方法,也可以指导一下。

转载于:https://my.oschina.net/u/581142/blog/471641

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值