Android 补充 LayerDrawable 沉浸式状态栏
小菜前些日子整理了两次小小的沉浸式状态栏的总结:Android 沉浸式状态栏的多种样式 和 Android 沉浸式状态栏以及伪沉浸式状态栏。今天小菜再稍稍补充一点,Java/Kotlin 代码中设置 LayerDrawable 方式实现沉浸式状态栏。
LayerDrawable 为图层叠加,对应 xml 中的 layer-list 层次化方式展示 Drawable,小菜借用这种方式实现与以前一样的含有图片的沉浸式状态栏样式。
GitHub Demo
小菜的测试步骤如下:
- 绘制最底层背景色,且设置了一个小圆角,方便区分布局中的背景色;
val radius0 = 10 val outerR = floatArrayOf(radius0.toFloat(), radius0.toFloat(), radius0.toFloat(), radius0.toFloat(), radius0.toFloat(), radius0.toFloat(), radius0.toFloat(), radius0.toFloat()) val roundRectShape0 = RoundRectShape(outerR, null, null) val shapeDrawableBg = ShapeDrawable() shapeDrawableBg.setPadding(0, 0, 0, 0) shapeDrawableBg.setShape(roundRectShape0) shapeDrawableBg.getPaint().setStyle(Paint.Style.FILL) shapeDrawableBg.getPaint().setColor(-0x444445)
- 设置 LayerDrawable 图层,底层为上面绘制的特定矩形颜色框,上一层为一张图片,可用网络下载或本地图片;
// 创建资源对象 val resources = resources // 创建数组对象 val layers = arrayOfNulls<Drawable>(2) layers[0] = shapeDrawableBg layers[1] = resources.getDrawable(R.drawable.icon_bg)
- 在 Toolbar 或其他布局位置设置背景 background;
// 设置背景 toolbar.background = layerDrawable test_lay.background = layerDrawable
Tips: 图层的叠加在 layers 中,图层越往上,添加到 layers[] 数组中数组下标越大。
以下是小菜公众号,欢迎闲来吐槽~

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Android Studio 中无法下载com.android.tools.build:gradle:3.0.1
异常 异常.png Android Studio中无法依赖com.android.tools.build:gradle:3.0.1 解决办法 进入Maven仓库, 并进入指定版本号的Gradle页面,下载pom与jar文件,进入<Android Studio安装路径>\studio\gradle\m2repository\com\android\tools\build\gradle\文件夹下,创建对应的版本,并将下载好的pom与jar复制进此文件夹。 gradle-maven.png gradle-local.png
- 下一篇
[凌浩雨] 工作一年
时间:2017.06.22-2018.06.22单位经历:诚运网络科技 -> 西北星信息技术 -> 北京乾元大通信息技术 - 诚运网络科技 在职时间:2017.02-2017.04 -- -- 大学学业只剩下最后一个学期,这个学期需要实习单位修学分,学校课程有规定实习这一学分。02.08离家来乌鲁木齐找工作,提前投好简历之后,02.09日便有个公司面试,这个公司便是诚运网络科技有限责任公司。 -- -- 02.09日面试时,公司的技术总监(后来去昌吉卖房了)简单的问了我一些问题,毕竟我是去找实习的,当时还没有毕业证,因为在乌鲁木齐这个城市,IT行业不是很发达,所以能找个面试的不容易,我当时就答应了下来要去。 -- -- 这个公司主要做广告这一块的东西,至于怎么盈利什么的就不在这里写了。我在这个公司做过抓包,反编译,爬数据,Java后端,Android移动端,在公司的两个月,一直住在舅舅家,每天回去都有舅嬷做好的面条(因为我不爱吃米饭,所以舅嬷就没有做过米饭),这样的环境促使我有更多的时间来用心学习。当时我还是有个女朋友的,每天下班的路上就和女朋友打电话,在舅舅家我就和女朋友...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS7设置SWAP分区,小内存服务器的救世主
- SpringBoot2全家桶,快速入门学习开发网站教程
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- Windows10,CentOS7,CentOS8安装Nodejs环境
- Hadoop3单机部署,实现最简伪集群
- Eclipse初始化配置,告别卡顿、闪退、编译时间过长
- 设置Eclipse缩进为4个空格,增强代码规范
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池