レイアウトと画像ビューにセレクターを使用したいのですが、うまくいきません。画像ビューをimagebuttonまたはbuttonに変更すると、正常に動作します。どんな助けでも大歓迎です..事前に感謝します..
これが私が使用したxmlです。
<?xml version="1.0" encoding="utf-8"?>
<selector
xmlns:Android="http://schemas.Android.com/apk/res/Android">
<item
Android:state_pressed="true"
Android:drawable="@drawable/bg"
/>
<item
Android:drawable="@drawable/bg_01" />
</selector>
レイアウトxml:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:Android="http://schemas.Android.com/apk/res/Android"
Android:layout_width="fill_parent"
Android:orientation="vertical"
Android:layout_height="fill_parent">
<ImageButton
Android:layout_width="100dp"
Android:layout_height="50dp"
Android:text="layout tester"
Android:textColor="#000000"
Android:textStyle="bold"
Android:paddingTop="10dp"
Android:src="@drawable/testselector"
Android:layout_gravity="center_horizontal" />
</LinearLayout>
私はちょうど今この問題に遭遇しました。 LinearLayoutをクリック可能に設定する必要があります。 XMLでこれを行うことができます
Android:clickable="true"
またはコードで
yourLinearLayout.setClickable(true);
これを試して
<selector
xmlns:Android="http://schemas.Android.com/apk/res/Android">
<item Android:state_focused="true"
Android:state_pressed="false"
Android:drawable="@drawable/lastread_ok" />
<item Android:state_focused="true"
Android:state_pressed="true"
Android:drawable="@drawable/lastread_ok" />
<item Android:state_focused="false"
Android:state_pressed="true"
Android:drawable="@drawable/lastread_ok_selected" />
<item Android:drawable="@drawable/lastread_ok" />
</selector>
lastread_ok
&lastread_ok_selected
の代わりに画像を使用できます
線形レイアウトの代わりにimageviewのIDを使用し、imageview自体にsetclicklistenerを使用すると、機能します!!
src
をbackground
に変更する必要があります
または
ImageButton
からImageView
に、またAndroid:clickable="true"
inImageView属性。
私にとっては、属性Android:clickable
をレイアウトではなく、ImageViewに割り当てるのに役立ちました。ただし、含まれているレイアウトではなく、画像をクリック可能にしたかっただけです。