0

这是一个简单的问题,

在我的 xml 文件中,我有:

<Button
android:id="@+id/button_8"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:text="@string/Bf"
android:background="@drawable/button_purple" 
android:layout_weight="1"
android:textColor="#ffffff"
android:onClick="action"            
/>

在我的活动中,我有:

public void action (View v)
{
    s = "m";
    changeCouleur("blue");
    v.setPressed(true);
}

当我按下按钮时,它正在工作,但按钮没有保持按下状态。

我不使用图像,这是我用于颜色的图像:

<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 android:state_focused="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>

如果您发现有问题,请提前致谢。请问有人知道吗?

4

2 回答 2

0

据我了解,您正在尝试使用按钮来关闭/打开状态,按钮的状态也将清楚地指示功能的状态。

如果我是正确的,那么使用自定义复选框。无论如何,您都必须为复选框的不同状态定义选择器(如 user1071979 所述)。

于 2012-07-27T19:28:42.483 回答
0

你必须使用两个图像来做到这一点。

button_normal button_pressed 然后在drawable文件夹中创建一个xml资源

<?xml version="1.0" encoding="UTF-8"?>

<selector xmlns:android="http://schemas.android.com/apk/res/android">

<item android:state_pressed="false"
    android:drawable="@drawable/button_normal" />

<item android:state_pressed="true"
    android:drawable="@drawable/button_pressed" />

</selector>

然后,将此文件设置为 imageview 的背景。这里我们使用 imageview 作为按钮。不要忘记在可绘制文件夹中包含这两个按钮。

于 2012-07-27T19:20:47.823 回答