2

必要な物は揃っていると思います。state_pressed のボタンの色を変更したい。次のリソースがあります。

次の内容の値の color.xml:

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <color name="blue">#045FB4</color>
    <color name="clicked">#A9E2F3</color>
</resources>

次のコンテンツを含む drawable フォルダー内の button_dashboard:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">

    <item android:drawable="@color/blue" />
    <item android:drawable="@color/clicked" android:state_pressed="true"/>

</selector>

そして最後に、私のレイアウトのこのボタン:

<Button
        android:id="@+id/button2"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_weight="1.0"
        android:background="@drawable/button_dashboard"
        android:text="Button" />

私は何か間違ったことをしていますか?現時点では必要ないため (実験中)、onClick コードはまだ作成していません。

4

6 に答える 6

3

試す:

<?xml version="1.0" encoding="utf-8"?>
    <selector xmlns:android="http://schemas.android.com/apk/res/android">

        <item android:drawable="@color/clicked" android:state_pressed="true"/>
        <item android:drawable="@color/blue" />


    </selector>
于 2013-09-19T07:34:32.047 に答える
1

drawable フォルダ内の button_dashboard の中身をこれに変更

<?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="@color/clicked" />

        </shape>
    </item>
    <item>
        <shape>
            <solid
                android:color="@color/blue" />
        </shape>
    </item>
</selector>

最後に、レイアウトのこのボタン:

<Button
        android:id="@+id/button2"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_weight="1.0"
        android:background="@drawable/button_dashboard"
        android:text="Button" />

お役に立てれば..

于 2013-09-19T07:44:28.570 に答える
0

この drawable/selector.xml を使用します

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
     <item android:state_focused="true" android:drawable="@color/Red"/>
     <item android:state_pressed="true" android:drawable="@color/Red" />
     <item android:drawable="@color/White" /> 
</selector>

oncreate メソッドでボタンの背景として設定する

btn.setBackgroundResource(R.drawable.selector);
于 2013-09-19T07:39:03.697 に答える
0

次の行をボタン レイアウトに追加します。

android:clickable="true"

したがって、レイアウトのボタンは次のようになります。

<Button
        android:id="@+id/button2"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_weight="1.0"
        android:clickable="true"
        android:background="@drawable/button_dashboard"
        android:text="Button" />
于 2013-09-19T07:39:42.387 に答える
0

これはどう?

<?xml version="1.0" encoding="utf-8" ?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">    
    <item android:state_pressed="true">        
        <color android:color="@color/clicked" />    
    </item>    
    <item android:state_pressed="false">        
        <color android:color="@color/blue" />    
    </item>
 </selector>
于 2013-09-19T08:20:42.050 に答える