2016-04-07 7 views
0

私は、左の画像に次のボタンxmlを持っています。android:drawableLeft on Button

ユーザーが画像をクリックしたときに、その画像を他のものにどのように変更するのかと思います。

<Button 
    android:layout_width="0dp" 
    android:layout_height="24dp" 
    android:gravity="center" 
    android:text="Start" 
    android:textStyle="bold" 
    android:id="@+id/startBtn" 
    android:textAllCaps="false" 
    android:layout_weight="2" 
    android:drawableLeft="@drawable/ic_keyboard_arrow_up_black_18dp" /> 

答えて

0

あなたが選択したか、されていない、あなたのボタンをチェックするために、変数を定義する必要があります。

private int buttonState = 0; 

yourButton.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      if (buttonState % 2 == 0) { 
       yourButton.setCompoundDrawables(R.drawable.ic_selected, null, null, null); 
      } else { 
       yourButton.setCompoundDrawables(R.drawable.ic_not_selected, null, null, null); 
      } 
      buttonState ++; 
     } 
    }); 

buttonState変数を使用すると、あなたのボタンの最後の状態を追跡することができます。

+0

こんにちはEmin、答えてくれてありがとうございますが、質問はトグル動作を実装することです。最初にクリックすると画像2に変わり、もう一度クリックすると画像1に戻ります。 – hotspring

+1

ああ、あなたの状況に合わせて自分の答えを編集しています –

+0

@テキサス私の編集した答えを確認できますか –