如何以编程方式创建此drawable?
<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>
答案 0 :(得分:17)
在我阅读@ OctavianDamiean的答案之前,这一点并不太明显。他的超链接已损坏,但为了以编程方式设置item
android:top
,android:bottom
等,请参考LayerDrawable
&#39; s {{ 3}}方法。
setLayerInset (int index, int l, int t, int r, int b)
int index
- 您想要的Drawable
数组中的Drawable
索引(您作为LayerDrawable
的构造函数参数传入)修改。
int l, t, r, b
- 按照android:left
,android:top
等
答案 1 :(得分:9)
它完全被描述为here。只需通过向其构造函数传递一个LayerDrawable
对象数组来创建Drawable
的新实例。