styles.xml で、テーマと ListView アイテムのスタイルを定義しました。
// styles.xml
<style name="MyTheme">
<item name="android:listViewStyle">@style/ListView</item>
</style>
<style name="ListView">
<item name="android:drawSelectorOnTop">true</item>
<item name="android:listSelector">@drawable/my_red_selector</item>
</style>
私は ListFragment を使用しており、リストビュー セレクターの色が尊重されていることがわかります ("@drawable/my_red_selector") が、drawSelectorOnTop 属性が無視されているようです - 私のセレクターはまだ下に描画されています。
独自のレイアウト ファイルを定義して実行すると、次のようになります。
<ListView
android:id="@+id/foo"
...
style="@style/ListView" />
スタイルの drawSelectorOnTop 属性が適用されます。ここで、一番上の属性のセレクターを無視するという間違ったことをしている可能性はありますか?
ありがとう
- - 編集 - - - - -
「my_red_selector」の定義は次のとおりです。
// my_red_selector.xml
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_focused="true" android:state_pressed="true" android:drawable="@drawable/red_on"/>
<item android:state_focused="false" android:state_pressed="true" android:drawable="@drawable/red_on"/>
<item android:state_focused="true" android:drawable="@drawable/red_on"/>
<item android:state_focused="false" android:state_pressed="false" android:drawable="@drawable/transparent"/>
</selector>
// red_on.xml
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" >
<solid android:color="@color/red" />
</shape>