Почему мои пользовательские состояния кнопок не работают?

Я сделал собственные изображения с 9 патчами для фона моей кнопки. Кнопки находятся в папке drawable-hdpi и drawable-mdpi. Я создал собственный файл селектора для состояний моих кнопок.

файл селектора login_button.xml:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <!-- Image display in background in select state -->
    <item android:state_pressed="true" android:drawable="@drawable/login_button_down" />

    <!-- Image display in background in select state -->
    <item android:state_focused="true" android:drawable="@drawable/login_button_down" />

    <!-- Default state --> 
    <item android:drawable="@drawable/login_button" />
</selector>

Затем я создал собственный файл styles.xml для стиля кнопки:

<style name="login_button_style" parent="@android:style/Widget.Button">
        <item name="android:gravity">center_vertical|center_horizontal</item>
        <item name="android:textColor">#FF000000</item>
        <item name="android:shadowColor">#FFFFFFFF</item>
        <item name="android:shadowDx">0</item>
        <item name="android:shadowDy">1</item>
        <item name="android:shadowRadius">0.2</item>
        <item name="android:textSize">13dp</item>
        <item name="android:textStyle">bold</item>
        <item name="android:background">@drawable/login_button</item>
        <item name="android:focusable">true</item>
        <item name="android:clickable">true</item>
    </style>

Затем применил этот стиль к моему файлу темы в темах. xml

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <style name="customTheme" parent="@android:style/Theme.NoTitleBar" >
        <item name="android:editTextStyle">@style/login_edittext_style</item>
        <item name="android:buttonStyle">@style/login_button_style</item>
        <item name="android:textViewStyle">@style/login_textview_style</item>
    </style>
</resources>

И, наконец, добавили в файл макета саму кнопку:

<Button 
   android:text="@string/login_text" 
   android:id="@+id/buttonSignIn" 
   android:layout_width="130dp" 
   android:layout_height="wrap_content">
</Button>

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

РЕДАКТИРОВАТЬ:

Очевидно нормальное состояние работает, потому что оно получает изображение из XML-файла селектора. Теперь мне интересно, почему другие штаты не ...

6
задан evilone 5 April 2011 в 19:04
поделиться