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

これを行うには、2つの画像を使用する必要があります。

button_normal button_pressed次に、描画可能なフォルダーに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をボタンとして使用しています。ドローアブルフォルダにこれらの2つのボタンを含めることを忘れないでください。

于 2012-07-27T19:20:47.823 に答える
0

私が理解していることから、ボタンを使用して状態をオフ/オンにしようとしているということです。ボタンの状態も、機能の状態を明確に示しています。

私が正しければ、カスタムチェックボックスを使用してください。とにかく、チェックボックスのさまざまな状態のセレクターを定義する必要があります(user1071979で言及されているように)。

于 2012-07-27T19:28:42.483 に答える