android drawable layer-list,layer-list XML和LayerDrawable实例

layer_list.xml

android:id="@+id/beauty1"

android:left="10dp"

android:top="10dp">

android:gravity="center"

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

android:id="@+id/beauty2"

android:left="40dp"

android:top="40dp">

android:gravity="center"

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

activity_main.xml

android:layout_width="match_parent"

android:layout_height="match_parent"

android:gravity="center"

>

android:src="@drawable/layer_list"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

/>

效果图如下:

首先解释下为什么使用代替android:src——使用的gravity属性,图片资源就不会为了匹配ImageView控件而改变自己的尺寸。其次既然layer-list也是一个drawable,那么同一个bitmap图片一样,它在屏幕的位置由承载它的View视图决定,此处是ImageView,甚至我们可以把它作为此处的的Background,但这样失去了这个drawable的应用意义。这个drawable提供了一种层叠效果,如图所示。至于具体其有哪些操作和应用,则要结合LayerDrawable提供的方法使用。

一个设想:点击底下的那张图片,把它显示到上面——作为一个drawable,那么就是一个整体了,点击操作只能争对ImageView控件实现,具体操作图片没办法。但是我们可以通过LayerDrawable提供的方法来设置这个layer-list中item的显示位置来实现。

上面是XML文件实现的LayerDrawable,代码实现形式如下:

Drawable[] array = new Drawable[2];

array[0] = new BitmapDrawable(bitmap1);

array[1] = new BitmapDrawable(bitmap2);

LayerDrawable la = new LayerDrawable(array);

LayerDrawable中的每个drawable有一个int index,顶层的drawable的index最大。这个index即为array数组的序号。

LayerDrawable的另一个应用是合成图片。

总结

如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。

小编个人微信号 jb51ccc

喜欢与人分享编程技术与工作经验,欢迎加入编程之家官方交流群!

你可能感兴趣的:(android,drawable,layer-list)