我正在尝试为按钮添加背景纹理和边框。但是我不能把我的按钮上的东西都拿去。
用这个我有我的背景图片
<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>
组合它们,但我可以获得边框或背景纹理。
答案 0 :(得分:5)
9个补丁通常非常适合这种情况(确保在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/