ListViewで選択行の色を変える2

2009-10-9 書き直しました。
http://d.hatena.ne.jp/isher/20091009

前回、選択行の背景の色を変えたので、今度は選択行のテキストの文字色を変えてみます。

android:textColor="#00ffff"

これだと選択、非選択に関わらず水色になります。

状態によって色を変えるには、ちょっと面倒な方法をとります。StateListDrawable | Android Developersを参考に、xmlをres/xmlに作成します。

<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_selected="true" android:color="#00ffff" />
    <item android:state_pressed="true" android:color="#00ffff" />
    <item android:color="#777777" />
</selector>

ファイル名をtext.xmlにしました。通常は灰色(#777777)で、state_selectedが選択行の文字色です。ホイールや矢印キーで移動すると色が変わりますが、指で直接選択した時に変わらなかったので、state_pressedも設定すると希望通りの動作になりました。なんせ説明が少なくて良く分かりませんが、色々試してみると良いと思います。

android:textColor="@xml/text"

色コードの代わりにxmlファイルを設定します。

選択行だけ色が変わってます。