Android: ImageButton не показывает нажатые состояния - PullRequest
0 голосов
/ 18 марта 2012

У меня есть ImageButton, и я клянусь, у меня все настроено правильно, но при нажатии на состояние значок не отображается.Вот что у меня есть.

ImageButton

        <!-- HOME BUTTON -->
    <ImageButton
        android:id="@+id/home"
        android:layout_width="45dp"
        android:layout_height="fill_parent"
        android:background="@android:color/transparent"
        android:contentDescription="Home" 
        android:src="@drawable/title_home"
        android:layout_alignParentLeft="true"
        android:onClick="onClickHome" />

Заголовок Home

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_focused="true" android:state_pressed="true" android:drawable="@drawable/title_home_pressed"/>
<item android:state_focused="false" android:state_pressed="true" android:drawable="@drawable/title_home_pressed"/>
<item android:state_focused="true" android:drawable="@drawable/title_home_pressed"/>
<item android:state_focused="false" android:state_pressed="false" android:drawable="@drawable/title_home"/>
</selector>

И да, это все действительные изображения, и они разные.title_home - единственный, который появляется.

Буду признателен за любые идеи?

Ответы [ 2 ]

1 голос
/ 18 марта 2012

Обратите внимание, как вы ссылаетесь на @ drawable / title_home в первом блоке кода, но вы намереваетесь обратиться к файлу xml. Хотя во втором блоке кода вы ссылаетесь на другой @ drawable / title_home, который, как я предполагаю, является изображением.

Из-за этого я могу только предположить, что из вашей информации ваш первый блок кода читает изображение, а не файл XML. Я полагаю, что для исправления этой ситуации поменяется имя одного из них.

0 голосов
/ 18 марта 2012
android:src="@drawable/title_home"

<item android:state_focused="false" android:state_pressed="false" android:drawable="@drawable/title_home"/>

То же имя.Измените имя вашего XML-файла на title_home_btn_selector.Затем создайте первый как

android: src = "@ drawable / title_home_btn_selector"

...