我需要创建一个带有图层列表的drawable,使得背景图层是图像,前景是透明颜色。我能够做到这一点。我没有成功的地方是添加一些填充/边距,以便在它们底部显示一段图像,而顶部没有彩色图层。这是我的xml。谢谢你的帮助。
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
<item>
<bitmap android:src="@drawable/img1"
/>
</item>
<item>
<shape
xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle" >
<solid android:color="@color/color1" />
<padding android:bottom="20dp" />
</shape>
</item>
</layer-list>
由于此配置不起作用,我的猜测是将填充放在第一层。但我不知道如何用位图
来做到这一点答案 0 :(得分:51)
将底部填充从shape
移至父item
:
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
<item>
<bitmap android:src="@drawable/img1" />
</item>
<item android:bottom="20dp">
<shape android:shape="rectangle" >
<solid android:color="@color/color1" />
</shape>
</item>
</layer-list>
有关详细信息,请参阅http://idunnolol.com/android/drawables.html#layer-list。
答案 1 :(得分:6)
将位图包裹在插图可绘制内并在那里设置填充
答案 2 :(得分:2)
<?xml version="1.0" encoding="utf-8"?>
<layer-list
xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<shape android:shape="oval">
<solid android:color="#FFE3F5F2"/>
</shape>
</item>
<item
android:bottom="7dp"
android:left="7dp"
android:right="7dp"
android:top="7dp">
<bitmap
android:src="@drawable/ic_link">
</bitmap>
</item>
</layer-list>