Drawable资源之Layer List
来源:互联网 发布:ubuntu命令行安装jdk 编辑:程序博客网 时间:2024/05/17 01:41
LayerDrawable是用来管理其他drawables数组的drawable对象。在这个列表中的每个drawable都会按照在列表中的顺序被画出来-列表中的最后一个drawable会被画到顶部。
在<layer-list>中每个drawable都用<item>元素来表示。
文件位置
res/drawable/filename.xml
这个文件名作为资源标识
编译后的资源类型
LayerDrawable。
使用方式
在Java中,R.drawable.filename
在XML中,@[package:]drawable/filename
语法
<?xml version="1.0" encoding="utf-8"?>
<layer-listxmlns:android="http://schemas.android.com/apk/res/android" >
<item
android:drawable="@[package:]drawable/drawable_resource"
android:id="@[+][package:]id/resource_name"
android:top="dimension"
android:right="dimension"
android:bottom="dimension"
android:left="dimension" />
</layer-list>
元素
<layer-list>
必须。必须作为根元素。它包含一个或多个<item>元素。
属性:
xmlns:android
字符串。必须。定义这个XML的命名空间,必须是"http://schemes.android.com/apk/res/android"。
<item>
定义放在layer drawable中的drawable,同时定义它的属性。必须是<selector>的子元素。也可用<bitmap>作为子元素。
属性:
android:drawable
Drawable资源。必须。引用drawable资源。
android:id
资源ID。这个drawable的唯一资源ID。为了给这项创建新的资源ID,需要使用:“@+id/name”。加号表示应当创建新的ID。你能通过View.findViewById()或Activity.findViewById()来用这个标识检索和修改这个drawable。
android:top
Integer。以像素为单位的顶部偏移
android:right
Integer。以像素为单位的右边偏移
android:bottom
Integer。以像素为单位的底部偏移
android:left
Integer。以像素为单位的左边偏移
默认情况下所有的drawable项都会缩放到容器视图的尺寸。所以,在layer列表不同位置放置图片可能会增大视图尺寸并且图片也会相应地缩放。为了避免缩放列表中的项,应当在<item>元素内部使用<bitmap>元素来指定这个drawable,同时定义gravity来避免缩放,例如"center"。例如,采用如下方式定义的<item>会将尺寸缩放到它的容器视图大小:
<item android:drawable="@drawable/image" />
为了避免缩放,下面的例子使用了带有居中gravity的<bitmap>元素:
<item>
<bitmapandroid:src="@drawable/image"
android:gravity="center" />
</item>
例子
保存在res/drawable/layers.xml中的内容如下:
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<bitmap android:src="@drawable/android_red"android:gravity="center" />
</item>
<item android:top="10dp" android:left="10dp">
<bitmapandroid:src="@drawable/android_green"android:gravity="center" />
</item>
<item android:top="20dp" android:left="20dp">
<bitmap android:src="@drawable/android_blue" android:gravity="center" />
</item>
</layer-list>
注意在这个例子中使用了内嵌带有"center" gravity的<bitmap>元素来为每项定义drawable资源。这就保证了由于偏移图片而导致重构尺寸时没有图片会放大到容器的尺寸。
在XML布局中将这个drawable应用到视图:
<ImageView
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:src="@drawable/layers" />
结果就是偏移量越来越来大的图片栈。
SEE ALSO
LayerDrawable
- Drawable资源之Layer List
- drawable下的非图片资源之layer-list
- Android 图片Drawable类型之Layer List
- Android学习之路------layer-list drawable
- android drawable Layer List
- Andoid Layer-list Drawable
- Android drawable layer-list
- Android修炼之道——Drawable之 layer-list
- android自定义drawable之shape、selector和layer-list详解
- Android Drawable资源中selector、layer-list和shape标签详解
- Android资源知识(五)之Layer List
- Android Drawable Resources系列3:<layer-list>
- 用layer-list自定义drawable图形
- Drawable资源之shape drawable
- Drawable资源之Transition Drawable
- Drawable基础知识总结----drawable标签layer-list的使用
- android xml之Drawable 篇 --------shape和selector和layer-list的
- 在drawable下的xml文件中layer-list的用法一:直接指定已有图片资源
- 表插入排序
- 注册表修改ie主页
- linux下查找某个文件位置的方法
- Android调用第三方App
- 我常常浏览的博客和网站(iOS学习)
- Drawable资源之Layer List
- 《编码:隐匿在计算机软硬件背后的语言》读书笔记 10
- vs2012 error c4996: 'fopen': This function or variable may be unsafe
- 黑马程序员-oc与c语言比需要注意的地方
- 续传
- 来自西弗吉利亚大学li xin整理的CV代码合集
- 大数据分析的5个基本方面
- Eclipse 编辑器 背景颜色设置
- 使用Rdoc生成ruby说明文档