图层列表形状+位图在顶部,带有填充

时间:2015-02-24 23:01:21

标签: java android bitmap layer-list

我尝试使用图层列表在带有填充的形状中将可绘制位图居中。 但我无法在图像周围填充。 这不起作用:

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item>
        <shape>
            <gradient
                android:angle="270"
                android:centerColor="#ffffffff"
                android:endColor="#ffbab8b9"
                android:startColor="#ffcfccce" />
            <stroke
                android:width="1px"
                android:color="#A0A0A0" />
            <corners
                android:bottomLeftRadius="10dp"
                android:bottomRightRadius="10dp"
                android:topLeftRadius="10dp"
                android:topRightRadius="10dp" />
        </shape>
    </item>
    <item
        android:bottom="5dp"
        android:left="5dp"
        android:right="5dp"
        android:top="5dp">
        <bitmap android:src="@drawable/logo"
            android:gravity="center" />
    </item>
</layer-list>

是否有人知道如何使用填充来居中位图(用于缩放)?

现在,只有底部,左边,......参数才会被忽略。位图在按钮内缩放100%。

我需要一个Button,并且不能在这里使用ImageButton。 Button也没有特殊情况下的文字,因此compoundDrawable也不起作用。我需要用Button做。

祝你好运, 尔根

2 个答案:

答案 0 :(得分:1)

好吧,看起来没有办法在图层列表中使用位图填充。我只是减少了位图大小,现在它完全适合按钮。但我不知道它是否在每台设备上都看起来相同......

答案 1 :(得分:0)

您可以将图标直接放在项目元素中,如下所示:

<item
    android:bottom="5dp"
    android:left="5dp"
    android:right="5dp"
    android:top="5dp"
    android:drawable="@drawable/logo"
    android:gravity="center"/>