您的位置:首页 > 移动开发 > Android开发

Android5.0以上实现全透明的状态栏(仿网易云界面)

2016-08-17 13:29 281 查看
Android4.4以上要实现沉浸式状态栏可以通过在style文件设置

<style name="AppTheme.NoActionBar">
<item name="windowActionBar">false</item>
<item name="windowNoTitle">true</item>
<item name="android:windowTranslucentStatus">true</item>
</style>就能得到透明的状态栏,比较网易云音乐的界面会发现网易云的状态栏是全透明的,而通过设置windowTranslucentStatus得到的状态栏背景始终是半透明的矩形。所以状态栏颜色会比toolbar颜色深一点(Material Design)
状态栏颜色深一点



状态栏和toolbar颜色是相同的。



为了达到同样的效果,搜索了挺多方法,找到一段代码比较合适。使用如下代码。然后布局文件加上paddingtop属性,设置为25dp。注意布局文件里不需要设置fitSystemWindows属性。设置以后就实现了网易云音乐的界面效果了。

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
Window window = getWindow();
window.clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS
| WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION);
window.getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
| View.SYSTEM_UI_FLAG_LAYOUT_STABLE);
window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
window.setStatusBarColor(Color.TRANSPARENT);
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: