Ich habe meine ImageView
in XML wie folgt definiert:Warum verwendet meine auf ein ImageView angewendete status-list-drawbare Grafik nicht den gedrückten Zustand, wenn ich den ImageView berühre?
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/fragment_imageView"
android:src="@drawable/ic_photo"
android:background="@drawable/button_state_list_drawable" />
Die button_state_list_drawable.xml
ist:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:drawable="@drawable/button_pressed_state_drawable"
android:state_pressed="true" />
<item android:drawable="@drawable/button_enabled_state_drawable"
android:state_enabled="true" />
</selector>
Die button_pressed_state_drawable.xml
ist:
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="oval" >
<size android:width="50dp"
android:height="50dp" />
<padding android:left="25dp"
android:right="25dp"
android:top="25dp"
android:bottom="25dp" />
<stroke android:color="#fff"
android:width="1dp" />
<solid android:color="#1aafd0" />
</shape>
Die button_enabled_state_drawable.xml
ist:
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="oval" >
<size android:width="50dp"
android:height="50dp" />
<padding android:left="25dp"
android:right="25dp"
android:top="25dp"
android:bottom="25dp" />
<stroke android:color="#fff"
android:width="1dp" />
<solid android:color="@android:color/transparent" />
</shape>
Das Problem ist, dass wenn ich auf/berühren Sie die ImageView
, die button_pressed_state_drawable
nicht verwendet zu sein scheint, also kann ich nicht die <solid android:color="#1aafd0" />
in Aktion sehen (das ist im Grunde der einzige Unterschied zwischen den beiden Drawables), dh die Die Hintergrundfarbe ist immer noch transparent, anstatt in blau zu wechseln. Wo vermassle ich?
Danke Kumpel. Das Einstellen dieses einzigen Attributs hat mir Kopfschmerzen bereitet. –