2012-04-15 12 views
2

CUSTOM ListViewの選択項目の色を変更する方法は分かっています。しかし、私はどのように通常のListViewの色を変更するか分からない。ListView(カスタムListViewではない)の選択項目の色を変更する方法

私はこれを試してみました:

<ListView android:id="@id/android:list" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:drawSelectorOnTop="false" 
    android:listSelector="@drawable/listitemselector"> 
<?xml version="1.0" encoding="utf-8"?> 
<selector xmlns:android="http://schemas.android.com/apk/res/android" > 
<item 
    android:state_pressed="true" 
    android:drawable="@color/light_blue"></item> 
</selector> 

しかし、これは単に全体のListViewの色を変更します。私はセレクターの色の変更のためだけにカスタムListViewを実装したくありません。そのための解決策を提示してください。

+0

あなたのアダプタソースを投稿してください –

答えて

6

単純な色の代わりに、背景として形状を試してみてください。ここに私のプロジェクトの一つの例です:

listselector_blue.xml:

<?xml version="1.0" encoding="utf-8"?> 
<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:state_pressed="true" android:drawable="@drawable/selector_state_blue"/> 
    <item android:drawable="@color/transparent"/> 
</selector> 

selector_state_blue.xml:リストビューでの活動の

<shape xmlns:android="http://schemas.android.com/apk/res/android" 
    android:shape="rectangle" > 

    <gradient 
     android:angle="270" 
     android:endColor="#FF91B2FF" 
     android:startColor="#4491B2FF" /> 

    <corners android:radius="10px" /> 

</shape> 

レイアウトのxml:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:orientation="vertical" > 

    <ListView android:id="@+id/list1" 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" 
     android:listSelector="@drawable/listselector_blue" /> 

</LinearLayout> 
+0

解決のおかげでバンチ。しかし、なぜそれが働いているのかわかりません。なぜそれは '形'のために働くのですか '色'はどうですか? –

+0

それは非常に有用です – NareshRavva

+0

いい仕事ですが、リストビューを選択している間は選択した色しか見ることができません。 ListViewの上に指を置くと、通常の色が表示されます。そのインデックスを選択したものに変更したい。じゃあ何をすればいいの ? –

2

LISTVIEWタグでこのセレクタを使用しないでください。リストのビューでこのセレクタを使用してください。つまり、リストのビュー(行のビュー)を膨張させるためにxmlを使用している場合は、

+0

私はそれを '行のビュー'に設定する方法を知っています。しかし、私はこれのためにカスタムlistViewを実装する必要があります。私はリストビュー行のビューを膨らませることなくNORMALリストビューで実装したい。 –

関連する問題