私はあなたの質問は、たぶん私は各状態のドローアブルを含むXML背景セレクタを定義し、同じタスクを行うあなた
を助けることができる理解していれば、あなたがなどドローアブル、形状を定義することができますので、このファイルは、より広範です..最も重要な機能は、あなたが好きな描画可能なものや形状を設定することができるということです。
ここで私は背景セレクタを定義しました...そして、セレクタをselector.xmlと呼んで、drawableフォルダに保存しました。私は、上記のセレクタを添付のImageButtonをビルドするとき
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_selected="true" android:drawable="@drawable/shape_7"/>
<item android:state_pressed="true" android:drawable="@drawable/shape_7" />
<item android:state_pressed="false" android:drawable="@drawable/shape_6" />
</selector>
後で...
ImageButton imageButton = new ImageButton(this);
imageButton.setBackgroundDrawable(getResources().getDrawable(R.drawable.selector));
またはXMLの方法(あなたがプログラム的にしたり、XMLレイアウトで行うことができます)
<ImageView
android:background="@drawable/selector"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="4px"
android:src="@drawable/switch_icon"/>
歓迎
ありがとう。私はそれが私の質問に答えるので、これを答えたとマークしますが、実際には私の問題を解決しませんでした。問題は、画像ボタンがタッチの「上」のイベントに焦点を当てていないことが分かります。他の何かがそれをつかむまでフォーカスを保持するようにイメージボタンを欲しいです(他の何かが触れるまでフォーカスされているように)。これに関するアドバイスは? – ab11
ボタンのonClickListener()のonClick(View v)メソッド内でyourButton.requestFocus()を呼び出してみてください。 – FoamyGuy
@ ab11タッチモードでフォーカスできるようにボタンを設定http://developer.android.com/reference/android/view/View.html#attr_android:focusableInTouchMode android:focusableInTouchMode = "true" –