Android Drawable之LayerDrawable
来源:互联网 发布:数据采集系统解决方案 编辑:程序博客网 时间:2024/05/01 08:25
Overview
一个LayerDrawable是一个可以管理一组drawable对象的drawable。在LayerDrawable的drawable资源按照列表的顺序绘制,所以列表的最后一个drawable绘制在最上层。
在xml文件中使用<layer-list>
作为根节点来定义LayerDrawable,通过item子节点定义每一层的drawable,layer-list没有属性节点,只包含item子节点。
创建和使用
1.通过xml文件创建
语法:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
元素: <layer-list>
:作为根节点。 包含一个或者多个元素。 <item>
:定义一个drawable放置在layer drawable中。
<item>
又具有如下属性:
- android:id 资源ID,为这个item定义的唯一的资源ID,通过View.findViewById() 检索。
- android:drawable 引用的drawable资源。
- android:bottom/top/left/right/start/end 设置与相应方向的距离
- android:gravity 在容器中的对齐方式
- android:height 该层的高度。默认为图层的固有高度.
- android:width 该层的宽度。默认为图层的固有宽度.
- android:paddingBottom/End/Left/Right/Start/Top 设置相应方向的padding
- android:paddingMode 表示层填充应该如何影响后续层的边界.取值为0:nest 1:stack
另外,在默认的情况下,每个drawable item都会缩放到合适的大小来适应视图。我们可以再<item>
节点里加上<bitmap>
元素来指定一个drawable,从而避免被缩放。除了<bitmap>
元素,item节点里还可以使用<shape>
等元素。
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
2.通过代码创建
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
其中setLayerInset方法原型为public void setLayerInset (int index, int l, int t, int r, int b)
第一个参数为层的索引号,后面的四个参数分别为left、top、right和bottom。
LayerDrawable在开发中的使用频率还是较少的,一般的需求也可以通过Framelayout来实现,所以对于LayerDrawable我们简单的了解即可。
原文链接:https://liuzhichao.com/2016/android-layerdrawable.html
- Android Drawable之LayerDrawable
- Android Drawable之LayerDrawable
- Drawable学习之----LayerDrawable
- Android-drawable资源-LayerDrawable
- android LayerDrawable转Drawable
- 初学Android,使用Drawable资源之使用LayerDrawable资源(十四)
- 初学Android,使用Drawable资源之使用LayerDrawable资源(十四)
- Android开发艺术探索<Drawable系列之三LayerDrawable>
- Android LayerDrawable 和 Drawable.Callback
- 使用Drawable资源之使用LayerDrawable资源
- Android Drawable Resource学习(四)、LayerDrawable
- Android Drawable Resource学习(四)、LayerDrawable
- Android Drawable Resource学习(四)、LayerDrawable
- 【译】Android LayerDrawable 和 Drawable.Callback
- Android Drawable Resource学习(四)、LayerDrawable
- Android Drawable Resource学习(四)、LayerDrawable
- Android中的Drawable资源—— LayerDrawable
- Drawable资源---LayerDrawable资源
- Android 测试方式、思路
- 83.hdu--2570--迷瘴
- 【Java并发编程实战】-----“J.U.C”:锁,lock
- 基于VM10+Win7安装Mac OSX10.11 El Capitan
- 【Java并发编程实战】-----“J.U.C”:ReentrantLock之一简介
- Android Drawable之LayerDrawable
- CentOS 7实战Kubernetes部署
- UE4-蓝图基础:变量类型
- Win10\win8环境下安装svn报错2503解决方案
- Button和TextView
- Python自学笔记五:单例模式
- Gstreamer插件教程2.1—编写一个插件(Writing a Plugin):构建样板(Constructing the Boilerplate)
- hdu 1205 吃糖果
- hbase flush 数据