Android 沉浸式statusbar (5.0以上无阴影,statusbar背景全透明)
来源:互联网 发布:淘宝订单不能评价 编辑:程序博客网 时间:2024/05/01 06:56
1.android:fitsSystemWindows="true"
只能配置在Activity,使自定义布局能占据statusbar
2.如果是继承了AppCompatActivity
在manifests设置
android:theme="@style/Theme.AppCompat.Light.NoActionBar">
3.如果希望状态栏没有阴影,背景颜色自定义在Activity中加:
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) { setTranslucentStatus(true);}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_HIDE_NAVIGATION | View.SYSTEM_UI_FLAG_LAYOUT_STABLE); window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS); window.setStatusBarColor(Color.parseColor("#4cb86a")); window.setNavigationBarColor(Color.TRANSPARENT);} else { SystemBarTintManager tintManager = new SystemBarTintManager(this); tintManager.setStatusBarTintEnabled(true); tintManager.setStatusBarTintResource(R.color.colorPrimary);//通知栏所需颜色*/}@TargetApi(19)private void setTranslucentStatus(boolean on) { Window win = getWindow(); WindowManager.LayoutParams winParams = win.getAttributes(); final int bits = WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS; if (on) { winParams.flags |= bits; } else { winParams.flags &= ~bits; } win.setAttributes(winParams);}
4.如果希望状态栏没有阴影,像qq空间 动态 页面,状态栏 直接 是 一张背景图片在Activity中加:
必须去掉布局的android:fitsSystemWindows="true"
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) { setTranslucentStatus(true);}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_HIDE_NAVIGATION | View.SYSTEM_UI_FLAG_LAYOUT_STABLE); window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS); window.setStatusBarColor(Color.TRANSPARENT); window.setNavigationBarColor(Color.TRANSPARENT);}else { SystemBarTintManager tintManager = new SystemBarTintManager(this); tintManager.setStatusBarTintEnabled(true); tintManager.setStatusBarTintColor(Color.TRANSPARENT);}
gethub地址:https://github.com/freesky12138/StatusBar
0 0
- Android 沉浸式statusbar (5.0以上无阴影,statusbar背景全透明)
- Android 5.0 StatusBar全透明
- Android 改变statusbar背景-沉浸式状态栏与导航栏
- Android踩坑记之沉浸式StatusBar
- Android大坑之沉浸式StatusBar+actionbar
- android 5.0 statusbar状态栏透明 解决方案
- Android Toast 设置statusbar沉浸式后 文字偏移问题
- 关于5.0以上布局入侵statusbar
- Android Dialog背景全透明无边框
- Android Dialog背景全透明 无边框
- Android StatusBar
- StatusBar
- statusbar
- StatusBar
- statusBar
- StatusBar
- actionbar、statusbar 浮动透明
- ios7 statusbar透明设置
- 【数据结构】树状数组模板--CODE[VS] 1080线段树练习and1081线段树练习2
- centos7 yum 方式安装nginx
- 读取xml文件
- myeclipse插件—SVN分支与合并详解【图】
- flex 布局下关于容器内成员 flex属性的理解
- Android 沉浸式statusbar (5.0以上无阴影,statusbar背景全透明)
- 译码器的应用
- [noip2008tg] 笨小猴
- iOS 线程队列
- 监听器
- js悬浮对联(随页面滚动而滚动)
- c,c++中调用shell脚本并保存shell的执行结果
- ANR问题分析指北
- WindowBase64