Q1)描画可能な元のListView
状態を見ると、listSelector
次のようなものがあります(例を簡略化するためにいくつかのコードを削除しました):
<selector>
<item android:drawable="<TRANSPARENT>" android:state_window_focused="false"/>
<item android:drawable="<DRAWABLE_1>" android:state_focused="true" android:state_pressed="true"/>
<item android:drawable="<DRAWABLE_1>" android:state_focused="false" android:state_pressed="true"/>
<item android:drawable="<DRAWABLE_2>" android:state_focused="true"/>
</selector>
しかし、私は自分のアプリで次のようにしています。
<selector>
<item android:drawable="<DRAWABLE_2>" android:state_pressed="false" android:state_focused="true"/>
<item android:drawable="<DRAWABLE_1>" android:state_pressed="true"/>
<item android:drawable="<TRANSPARENT>" />
</selector>
これは同じ結果をもたらすようで、はるかに簡単です。最初のものが私自身のバージョンよりもうまくいく状況に気づきましたか?コードをできるだけ短くするために、何か重要なことを見逃していないことを確認したいだけです...
Q2)州のドローアブルが<item android:drawable="<TRANSPARENT>" android:state_window_focused="false"/>
一番上にあるのですが、なぜ必要なのかわかりません。いつも少し戸惑いましたstate_window_focused
…本当に必要ですか?