2

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でも可能ですか?もしそうなら、私は何か不足していますか?

4

2 に答える 2

0

TextView.java ソース コードを見ると、はい、StateListDrawable を、TextView の状態に従って表示される複合 Drawable として使用できることがわかります。

于 2013-08-25T14:43:29.213 に答える
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);
于 2015-01-05T18:37:40.507 に答える