2012年10月30日火曜日

ListViewで選択行の色を変える

選択行のテキストの文字色を変えてみます。
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ファイルを設定します。

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

0 件のコメント:

コメントを投稿