2013-08-25 36 views
2

是否可以在Android中定義複合繪製的狀態列表?複合繪圖的Android狀態列表

這是我在佈局XML按鈕:

<Button 
    android:id="@+id/button" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:drawableTop="@drawable/btn_top" 
    android:text="@string/button_text" /> 

這是我繪製的xml:

<?xml version="1.0" encoding="utf-8"?> 
<selector xmlns:android="http://schemas.android.com/apk/res/android" > 
    <item android:state_enabled="true" android:drawable="@drawable/btn_top_enabled" /> 
    <item android:drawable="@drawable/btn_top_disabled" /> 
</selector> 

本工程爲背景,但它不是工作drawableTop。第一個狀態始終顯示。這在Android中甚至是可能的,如果是的話,我錯過了什麼?

+0

你是怎麼修復它的?我面臨同樣的問題。 – 2014-10-29 11:54:10

+0

你是如何解決這個問題的?在文本視圖中,Drawable不會改變 – Dory

回答

0

看廣告TextView.java源代碼,你會看到,是的,你可以使用StateListDrawable作爲顯示一種化合物可繪製根據TextView的狀態

0

嘗試:

<selector xmlns:android="http://schemas.android.com/apk/res/android" > 
    <item android:state_enabled="true" android:drawable="@drawable/btn_top_enabled" /> 
    <item android:state_activated="true" android:drawable="@drawable/btn_top_enabled" /> 
    <item android:drawable="@drawable/btn_top_disabled" /> 
</selector> 

而且

button.setActivated(true);