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);
}
<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);
}
相关文章推荐
- Android5.0以上实现全透明的状态栏方法(仿网易云界面)
- Android5.0以上的状态栏透明和沉浸式模式兼容底部导航栏与界面重复
- Android5.0实现全透明状态栏效果
- android 4.4版本以上透明状态栏的简单实现
- Android 4.4 以上实现透明导航栏和状态栏 Translucent system bar
- Android 5.0以上实现透明状态栏
- android5.0以上版本的状态栏透明
- Android 4.4及以上版本实现状态栏透明
- Android4.4及以上实现透明状态栏
- Android 4.4 以上分分钟实现状态栏伪沉浸(状态栏透明)
- Android实现4.4以上系统状态栏透明
- 安卓实现状态栏透明主题
- Android之4.4版本以上沉浸式状态栏实现
- C# Winform实现炫酷的透明动画界面
- android4.4上全屏界面实现禁止状态栏下拉
- Android中实现界面透明的方法汇总
- Android KITKAT 以上实现沉浸式状态栏
- Android透明状态栏的实现(转)
- Android5.0全透明状态栏效果
- 安卓4.4后实现透明状态栏