当我们想把多个图层叠在一起显示的时候,可以使用layer-list
一.xml上面实现:
在/res/drawable/文件夹下建立 test.xml
内容如下:
- <?xml version="1.0" encoding="utf-8"?>
- <layer-list xmlns:android="http://schemas.android.com/apk/res/android">
- <item>
- <shape>
- <solid android:color="#FFB2B9BE"/>
- </shape>
- </item>
- <item android:bottom="1px">
- <shape>
- <gradient android:startColor="#FFDCE2E6" android:endColor="#FFBAC2C6" android:angle="-90"/>
- </shape>
- </item>
- </layer-list>
使用的时候和其他的资源文件的使用方法一样 android:background="@drawable/test"
例如:
- <</span>ImageView
-
...... -
android:background="@drawable/background" - />
把上面的android:background="@drawable/background" 替换成
android:background="@drawable/test"即可。
二, 在drawable文件夹下创建一个xml文件。比如:background.xml
xmlns:android="http://schemas.android.com/apk/res/android">
另外在layout文件中指定background属性这样就会加载pic1和pic2这两张图片
如果想在代码实现:就可以按照
- Resources
r = getResources(); - Drawable[]
layers = new Drawable[2]; - layers[0]
= r.getDrawable(R.drawable.pic1); - layers[1]
= r.getDrawable(R.drawable.pic2); - LayerDrawable
layerDrawable = new LayerDrawable(layers); - ((ImageView)
findViewById(R.id.imageview)).setImageDrawable(layerDrawable);
一般用来进度bar,这种有两种背景的东西。