0

私はアンドロイドが初めてで、いくつかの機能を試しています。ボタンのクリック時に呼び出される 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="@drawable/button_pressed"/>
<item android:state_pressed="true" android:drawable="@drawable/button_pressed" />
<item android:drawable="@drawable/btn_not_pressed" />  
</selector>

このコードを編集して、ボタンが押されたときに、もう一度クリックして前の状態に戻るまでその状態を維持するにはどうすればよいですか?

4

3 に答える 3

1

既存の回答で説明されているように、ToggleButton をチェック済みの背景と組み合わせる必要があります

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <!-- When selected, use grey -->
    <item android:drawable="@drawable/selected_image"
          android:state_checked="true" />
    <!-- When not selected, use white-->
    <item android:drawable="@drawable/unselected_image"
        android:state_checked="false"/>

 </selector>
于 2013-05-20T18:39:09.697 に答える
0

プログラムで行うことを選択した場合は、次のように行うことができます。

boolean flag = true;

Button button = (Button) findViewById(R.id.button_id);
         button.setOnClickListener(new View.OnClickListener() {
             public void onClick(View v) {
            if(flag){
                 button.setBackgroundResource(R.drawable.clickedonce);
                 flag = false;
            }else{
                 button.setBackgroundResource(R.drawable.clickedtwice);
                 flag = true;
           }
         }
     });

多分それは役立ちます。

于 2013-05-20T18:34:38.960 に答える
0

Javaクラスで修正してみてください。ボタンが選択されているときとそうでないときのフラグを追加し、選択されているかウィンドウが開いているときに押された状態の画像を追加し、閉じられたときに押されていないときの画像を追加します。

于 2013-07-25T11:27:33.777 に答える