2

我正在尝试为按钮添加背景纹理和边框。但我无法在我的按钮上看到这两个东西。

有了这个我有我的背景图片

<item>
 <bitmap android:src="@drawable/button_background" android:tileMode="repeat" />
 </item>

有了这个我就有了一个边界

<corners android:radius="5dp" />
  <stroke android:width="3px" android:color="#FFFFFF" />

我尝试使用两者结合它们<shape><layer-list>但我可以获得边框或背景纹理。

4

1 回答 1

5

9patches 通常非常适合这种情况(请确保使用 SDK 的 tools 目录中的 draw9patch 工具),但如果您不想创建自己的图形(请记住,您需要为每个分辨率)并想使用 XML,您可以执行以下操作:

红色按钮

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_pressed="true" >
        <shape>
            <solid
                android:color="#ef4444" />
            <stroke
                android:width="1dp"
                android:color="#992f2f" />
            <corners
                android:radius="3dp" />
            <padding
                android:left="10dp"
                android:top="10dp"
                android:right="10dp"
                android:bottom="10dp" />
        </shape>
    </item>
    <item>
        <shape>
            <gradient
                android:startColor="#ef4444"
                android:endColor="#992f2f"
                android:angle="270" />
            <stroke
                android:width="1dp"
                android:color="#992f2f" />
            <corners
                android:radius="3dp" />
            <padding
                android:left="10dp"
                android:top="10dp"
                android:right="10dp"
                android:bottom="10dp" />
        </shape>
    </item>
</selector>

来源:http ://www.dibbus.com/2011/02/gradient-buttons-for-android/

于 2013-01-03T15:59:22.733 回答