将默认Android橙色设置为自定义按钮的聚焦,按下,选定状态

时间:2011-11-16 10:16:25

标签: android

我有一个自定义按钮,但对于聚焦,按下,选择状态,我想要默认的Android橙色选择状态,而不是为这些状态制作新的自定义图像。

我是如何实现这一目标的?我应该在选择器上为这些状态写什么?

3 个答案:

答案 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

部分按钮默认图像名称为:

  1. btn_default_pressed.9
  2. btn_default_selected.9
  3. btn_default_small_pressed.9
  4. btn_default_small_selected.9
  5. 所以现在将9-patch图像复制到res/drawable文件夹中,并在任何地方使用它。

答案 2 :(得分:0)

您是否尝试过不提这些州?我没有尝试过,但我会说,如果你不提一个状态,android应该使用默认值。