IT圈内那点事儿Android知识移动开发

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
上一篇 下一篇

猜你喜欢

热点阅读