2016-03-31 4 views
0

ImageButtonにタッチフィードバックを実装するにはどうすればよいですか?ボタンに触れたときに画像ボタンに画像を変更したい。私はすでに検索しましたが、うまくいかなかったことを試した後、私は少し切望しています。セレクタはこの問題の正しいことですが、これはどのように機能しますか?ImageButtonタッチフィードバック

私の現在の試みは、drawableフォルダに新しい.xmlファイルを作成することです。そこで私は、セレクタをかけることになり、これは、.xmlファイルのための私の現在のコードです:

<?xml version="1.0" encoding="utf-8"?> 
<selector xmlns:android="http://schemas.android.com/apk/res/android"android:exitFadeDuration="@android:integer/config_mediumAnimTime"> 
<item 
    android:state_pressed="true" 
    android:drawable="@drawable/testbuttonimageselected" /> 
<item 
    android:drawable="@drawable/testbuttonimage" /> 
</selector> 

そして、これは.javaファイルのための私の現在のコードです:

btnTest = (ImageButton) findViewById(R.id.btnTest); 
btnTest.setOnClickListener(new View.OnClickListener() { 

    public void onClick(View button) { 
     //Set the button's appearance 
     button.setSelected(!button.isSelected()); 

     if (button.isSelected()) { 
      //Handle selected state change 
     } else { 
      //Handle de-select state change 
     } 
    } 
}); 

答えて

0

あなたは簡単にこれを行うことができます状態リストを使用して、各状態に異なるイメージを割り当てます。 https://developer.android.com/guide/topics/resources/drawable-resource.html#StateList

+0

これはまさに私が今試みていることだと思いますが、動作しません。私は私の質問にコードを追加しました。多分あなたは間違いを見つけられるでしょうか? – MikeFry

+0

StateListDrawableをImageButtonの描画可能オブジェクトとして設定する必要があります。自分で状態を処理する必要はありません。 – Vaiden