1

リストビューの行に代替色を設定する必要がありますが、設定すると、フォーカスのデフォルトの黄色の背景が削除/無効になります

backgroundColor rowView.setBackgroundColor(SOME COLOR);で試してみました。

また、backgrounddrwableを使用します。

rowView.setBackgroundColor(R.drawable.view_odd_row_bg);
<?xml version="1.0" encoding="utf-8"?>
<selector
   xmlns:android="http://schemas.android.com/apk/res/android">
   <item
      android:state_window_focused="false"
      android:drawable="@color/odd" />

   <!--
      Even though these two point to the same resource, have two states
      so the drawable will invalidate itself when coming out of pressed
      state.
   -->
   <item
      android:state_focused="true"
      android:state_enabled="false"
      android:state_pressed="true"
      android:drawable="@color/highlight" />
   <item
      android:state_focused="true"
      android:state_enabled="false"
      android:drawable="@color/highlight" />

   <item
      android:state_focused="true"
      android:state_pressed="true"
      android:drawable="@color/highlight" />
   <item
      android:state_focused="false"
      android:state_pressed="true"
      android:drawable="@color/highlight" />

   <item
      android:state_focused="true"
      android:drawable="@color/highlight" />

</selector>

しかし、それは機能しません。

背景色とフォーカスカラーを同時に設定できる方法はありますか?

4

2 に答える 2

6

このチュートリアルは私にとって非常に役立つことがわかりました。

http://ykyuen.wordpress.com/2010/03/15/android-%E2%80%93-applying-alternate-row-color-in-listview-with-simplleadapter/

ListView アイテムに交互の色を持たせることができ、フォーカスされたアイテムはデフォルトの強調表示された色を維持しました。

于 2010-06-17T17:11:11.150 に答える
2

あなたの色に透明度を入れてください、黄色のハイライトはまだそこにあります、それはあなたの背景色のすぐ後ろにあります、透明度はそれを透けさせます。

于 2011-07-27T14:03:13.420 に答える