android list 文件,Android 项目中资源文件 -- layer-list篇

我们可以使用 shape 、selector 实现一些日常开发中的常见样式。但是有一些稍微复杂一些的样式效果我们可以使用 layer-list 来实现,这篇文章就来记录一下这个 layer-list 的使用。

都说再学习的过程中,我们要时刻保持一颗充满好奇的内心。 那么问题就来了 layer-list 这到底是个什么东西呢?

图层列表 layer-list

定义

顾名思义 layer-list ,图层别表。 layer-list 是用来创建 LayerDrawable 的,而 LayerDrawable 又是 DrawableResource 的一种,所以简单来说,layer-list 所创建出来的图层列表就是一种 drawable 图形。

原理

layer-list 其实是试图叠加,有点像我们平时写 layout 布局时候的 RelativeLayout,后添加的视图会覆盖住先添加的。在 layer-list 中可以通过控制视图 上下左右 四个方向的距离属性,从而得到不同效果的样式。

文件位置

res/drawable/xxx.xml 文件名用作资源 ID。

资源引用

在 Java 中:R.drawable.xxx

在 XML 中:@[package:]drawable/xxx

语法

android:drawable="@[package:]drawable/drawable_resource"

android:id="@[+][package:]id/resource_name"

android:top="dimension"

android:right="dimension"

android:bottom="dimension"

android:left="dimension" />

基本语法就是使用一个 标签嵌套多个 ,每一个 就代表一个视图层。

的属性介绍

属性名

属性说明

android:drawable

可绘制对象资源。必备。引用可绘制对象资源

android:id

资源 ID。此可绘制对象的唯一资源 ID

android:top

整型。顶部偏移(像素)

android:right

整型。右边偏移(像素)

android:bottom

整型。底部偏移(像素)

android:left

整型。左边偏移(像素)

默认情况下,所有可绘制项都会缩放以适应包含视图的大小。因此,将图像放在图层列表中的不同位置可能会增大视图的大小,并且有些图像会响应的缩放。为了避免缩放列表中的项目,在 item 元素内使用 bitmap 指定可绘制对象。

android:gravity="center"

android:src="@drawable/image" />

使用事例

XML 文件保存在 res/drawable/layers.xml 中:

android:gravity="center"

android:src="@drawable/android_red" />

android:left="10dp"

android:top="10dp">

android:gravity="center"

android:src="@drawable/android_green" />

android:left="20dp"

android:top="20dp">

android:gravity="center"

android:src="@drawable/android_blue" />

然后在布局文件中使用:

android:layout_height="wrap_content"

android:layout_width="wrap_content"

android:src="@drawable/layers" />

最终效果

你可能感兴趣的:(android,list,文件)