DrawerLayout 和 沉浸式布局
来源:互联网 发布:淘宝申请换货在哪里 编辑:程序博客网 时间:2024/05/15 13:46
DrawerLayout 这个和普通的ViewGroup设置沉浸式 不一样。
普通的只要设置背景,给一个图片或者颜色,状态栏就会变成相应的背景色。(这是在工程已经设置好了在沉浸式下)。
当你发现用DrawerLayout 作为父容器时,给DrawerLayout 设置背景,状态栏还是系统默认色,起初我修改了主题中的选项
在 styles.xml 里面。
对应的主题下添加
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
colorPrimaryDark 为你定义在colors.xml的颜色。
这样可以通过修改主题颜色达到效果,但是其他控件如果用到这个颜色,也会被修改掉,所以这个不是最佳的。
<!-- 察看源码发现,DrawerLayout 的onDraw里面有画状态栏 -->
@Overridepublic void onDraw(Canvas c) { super.onDraw(c); if (mDrawStatusBarBackground && mStatusBarBackground != null) { final int inset = IMPL.getTopInset(mLastInsets); if (inset > 0) { mStatusBarBackground.setBounds(0, 0, getWidth(), inset); mStatusBarBackground.draw(c); } }}
mStatusBarBackground ,可以通过设置public void setStatusBarBackgroundColor(@ColorInt int color) { mStatusBarBackground = new ColorDrawable(color); invalidate();}或者public void setStatusBarBackground(int resId) { mStatusBarBackground = resId != 0 ? ContextCompat.getDrawable(getContext(), resId) : null; invalidate();}也可以public void setStatusBarBackground(Drawable bg) { mStatusBarBackground = bg; invalidate();}
这样就不会影响到其他了。
0 0
- DrawerLayout 和 沉浸式布局
- DrawerLayout沉浸式状态栏
- 沉浸式布局
- 沉浸式布局
- DrawerLayout侧滑菜单、Toolbar和沉浸式状态栏的使用
- android 沉浸式布局学习
- android沉浸式布局详解
- 沉浸式布局的使用
- 安卓 沉浸式布局
- Android DrawerLayout+ToolBar+NavigationView实现策划效果,沉浸式状态栏
- DrawerLayout中侧边栏NavigationView沉浸式状态栏无效问题
- DrawerLayout布局
- 侧滑的布局SlidingPaneLayout和DrawerLayout
- actionBar和DrawerLayout的使用(抽屉布局)
- 【安卓笔记】抽屉式布局----DrawerLayout
- 抽屉式布局 DrawerLayout 的使用
- 抽屉式布局DrawerLayout的实现
- DrawerLayout 在 Android 4.4 和 Android 5.0 以上实现沉浸状态栏和导航栏的方法
- 无知的狂言(二)
- 单链表基本操作:初始化,建立,插入,查找,删除
- 为ros配置开发ide时需要注意的两点
- HDU-1159-Common Subsequence(最长公共子序列)
- 八大排序比较总结
- DrawerLayout 和 沉浸式布局
- JDBC 数据库查询 更新
- vpn错误619、734等解决方法
- iOS 获取设备所连网络的IP地址
- TV Metro界面(仿泰捷视频TV版)源码解析
- AnalysisDnsPackage
- ubuntu14.04 Samba服务无法访问 可能没有权限 指定的网络名不再可用的问题
- JAVAC' 不是内部或外部命令解决方法
- Unity 打包发布keyStore文件Sha1获取