ボタンを押したままにすると、画像の色をグレーから白に変更する必要があります(そうでない場合RelativeLayout
は機能しません):android:clickable="true"
android:clickable="false"
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
android:id="@+id/contacts"
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_weight="0.2"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<ImageView
android:id="@+id/image"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:adjustViewBounds="true"
android:clickable="true" <!-- here clickable = true -->
android:contentDescription="@string/content_description_contacts"
android:scaleType="fitXY"
android:src="@drawable/contacts" />
<TextView
android:id="@+id/text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_alignBottom="@id/image"
android:paddingBottom="10dp"
android:textColor="@drawable/text_color"
android:text="@string/button_contacts"
android:textSize="12sp" />
</RelativeLayout>
そして次のようです:
私のcontacts
セレクターは次のようです:
<?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/contacts_over" />
<item android:state_selected="true"
android:drawable="@drawable/contacts_selected" />
<item
android:drawable="@drawable/contacts_default" />
</selector>
ご覧のとおり、3 つの画像があります。デフォルトでは、選択されて押されています。
ドキュメントによると、に設定android:clickable="true"
した後、イベントImageView
の取得を停止しonClickListener
ました。
contacts = (RelativeLayout) findViewById(R.id.contacts);
contacts.setOnClickListener(this);
ので、私は持っています
- または設定
clickable="false"
して「state_pressed」が機能しない - または設定
clickable="true"
しonClickListener
ても機能しない (イベントを受信しない)
どうすればいいですか、回避策はありますか?
ありがとう、