按钮颜色不会改变

时间:2012-02-25 15:57:07

标签: android

我将此布局用于按钮颜色(蓝色):

<?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="#449def" />
            <stroke
                android:width="1dp"
                android:color="#2f6699" />
            <corners
                android:radius="3dp" />
            <padding
                android:left="10dp"
                android:top="10dp"
                android:right="10dp"
                android:bottom="10dp" />
        </shape>
    </item>
    <item>
        <shape>
            <gradient
                android:startColor="#449def"
                android:endColor="#2f6699"
                android:angle="270" />
            <stroke
                android:width="1dp"
                android:color="#2f6699" />
            <corners
                android:radius="4dp" />
            <padding
                android:left="10dp"
                android:top="10dp"
                android:right="10dp"
                android:bottom="10dp" />
        </shape>
    </item>
</selector>

当我尝试更改颜色时,它不会改变!无论我做什么改变,它都会保持蓝色。

我在strings.xml中使用:

<style name="mybuttons">
    <item name="android:layout_width">fill_parent</item>
    <item name="android:layout_height">wrap_content</item>
    <item name="android:textColor">#ffffff</item>
</style>

以下是main.xml的一部分:

 <Button 
            android:id="@+id/select_c"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:text="@string/choose_c"

            android:layout_marginTop="120dip"
            android:background="@drawable/blue_button"
            style="@style/mybuttons"
                />

2 个答案:

答案 0 :(得分:1)

您没有提供足够的信息来了解问题所在 - XML布局在哪里?

要使用选择器drawable,您需要创建它(如您所做),然后将其应用于Button。我希望在那里看到像background="@drawable/my_selector_drawable"这样的属性,将按钮背景应用到布局中的按钮。

答案 1 :(得分:1)

您应该使用android:state_pressedandroid:state_focused

在选择器中指定项目