1
<item android:state_enabled="false" android:color="@android:color/bright_foreground_dark_disabled"/>
<item android:color="@android:color/bright_foreground_dark"/>

これら2つの違いは何ですか?ドキュメントによると、最初の項目の色は、状態が有効でない場合に使用され、2 番目の項目はデフォルトの色です。アイテムが有効になっていない場合、どの色が使用されますか?

4

2 に答える 2

3

項目が有効になっていない場合は、itemすべてのstateセレクターに一致するため、最初の項目が使用されます。セレクター項目は上から順にチェックされ、最初にstate一致した項目が使用されます。

于 2012-12-19T19:55:03.247 に答える
0

false状態は、他の状態と組み合わせて使用​​することを意図しています。たとえば、チェック可能なアイテムがあり、無効または有効にすることができ、状態の組み合わせごとに異なるドローアブルを使用したいとします。これは、次の方法で実現できます。

<item android:state_checked="true" android:state_enabled="true" android:drawable="@drawable/drawable1"/>
<item android:state_checked="true" android:state_enabled="false" android:drawable="@drawable/drawable2"/>
<item android:state_checked="false" android:state_enabled="true" android:drawable="@drawable/drawable3"/>
<item android:state_checked="false" android:state_enabled="false" android:drawable="@drawable/drawable4"/>
<item android:drawable="@drawable/drawable0"/>

そのような組み合わせが必要ない場合はstate_xxx="false"、他の状態なしで使用する必要はありませんが、それは間違いではありません.

于 2012-12-19T20:35:08.293 に答える