Android资源知识(五)之Layer List
2016-11-08 本文已影响166人
码道成功
Layer(图层)资源就是管理系列drawable资源的对象。其效果类似于<FrameLayout>,Layer中最后一个item显示在最顶层。二者区别在于,<FrameLayout>的子元素可以包含各种控件标签,而Layer的子元素只能是图像bitmap。
文件路径:res/drawable/filename.xml
引用方式如下:
In Java: R.drawable.filename
In XML: @[package:]drawable/filename**
语法示例:
<?xml version="1.0" encoding="utf-8"?>
<layer-list
xmlns: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>
在默认情况下,<item>中的drawable资源会充满整个控件,这样图片就会被拉伸变形。为了防止图片被拉伸变形,可以通过在<item>中使用子元素<bitmap>标签引用图片资源。示例如下:
<item>
<bitmap android:src="**@drawable/image**"
android:gravity="center" />
</item>
下面通过一个完整例子来看看效果:
<?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">
<bitmap android: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>
<ImageView
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:src="@drawable/layers" />
最终显示效果如下:
layer效果.png