我有一个自定义按钮,但对于聚焦,按下,选择状态,我想要默认的Android橙色选择状态,而不是为这些状态制作新的自定义图像。
我是如何实现这一目标的?我应该在选择器上为这些状态写什么?
答案 0 :(得分:4)
检查此代码,它将为您提供有关如何更改每个州的颜色的信息。
<?xml version="1.0" encoding="utf-8"?>
<selector
xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true" >
<shape>
<gradient
android:startColor="#F5B800"
android:endColor="#F5B800"
android:angle="270" />
<stroke
android:width="1dp"
android:color="#ffcc00" />
<corners
android:radius="1dp" />
<padding
android:left="10dp"
android:top="10dp"
android:right="10dp"
android:bottom="10dp" />
</shape>
</item>
<item android:state_focused="true" >
<shape>
<gradient
android:endColor="#F5B800"
android:startColor="#F5B800"
android:angle="270" />
<stroke
android:width="1dp"
android:color="#ffcc00" />
<corners
android:radius="1dp" />
<padding
android:left="10dp"
android:top="10dp"
android:right="10dp"
android:bottom="10dp" />
</shape>
</item>
<item>
<shape>
<gradient
android:endColor="#ff9900"
android:startColor="#ffcc00"
android:angle="270" />
<stroke
android:width="1dp"
android:color="#ffcc00" />
<corners
android:radius="1dp" />
<padding
android:left="10dp"
android:top="10dp"
android:right="10dp"
android:bottom="10dp" />
</shape>
</item>
</selector>
答案 1 :(得分:3)
我确信您要在自定义选择器文件中实现默认的橙色图像,如果是这种情况,那么您可以知道系统使用的所有内置可绘制文件的名称,从这里您可以知道: Android Drawables
部分按钮默认图像名称为:
所以现在将9-patch图像复制到res/drawable
文件夹中,并在任何地方使用它。
答案 2 :(得分:0)
您是否尝试过不提这些州?我没有尝试过,但我会说,如果你不提一个状态,android应该使用默认值。