1

すべての項目を選択し、ListFragmentセレクタは、私は私が私の活動でこの方法を呼び出していますこのListFragmentは、している

<activity android:name=".ui.CustomerListActivity" android:clearTaskOnLaunch="true" android:theme="@style/Theme.AppList"> 

テーマは次のように定義されています:

01それスタイルsettedています
<style name="Theme.AppList"> 
     <item name="android:windowContentOverlay">@null</item> 
     <item name="android:windowBackground">@color/window_background</item> 
     <item name="android:listViewStyle">@style/AppListView</item> 
    </style> 

    <style name="AppListView" parent="@android:style/Widget.ListView.White"> 
     <item name="android:dividerHeight">4dp</item> 
     <item name="android:listSelector">@color/selector_color</item> 
     <item name="android:ellipsize">marquee</item> 
     <item name="android:cacheColorHint">@color/list_item</item> 
     <item name="android:divider">@android:color/transparent</item> 
    </style> 

と色:

<color name="list_item">@android:color/white</color> 
    <color name="selector_color">#ffba00</color> 

しかし、いつでもアプリを実行すると、それがアイテムIを長押しするまで正常に見えるか、ドラッグしてみてください。 1つの要素だけを選択するのではなく、すべての要素が選択されて表示されます。

そこで質問です:どのように私の代わりにそれらのすべての1つだけの要素を選択するには、リストを作るのですか。

enter image description here

任意の助けもいただければ幸いです。

答えて

0

に個々の行ビューのセレクタを設定します:

<?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/bg_list_item_selected"></item> <!-- pressed -->  
<item android:state_focused="true" android:drawable="@drawable/bg_list_item_selected"/>   <!-- focused --> 
<item android:drawable="@drawable/bg_list_item"/>  <!-- default --> 
</selector> 

セレクタ描画可能状態9枚のパッチ画像。私は次のように私がセレクタとしてレイアウトbackgroudのをsetted行に定義されたXMLに次に :

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="?android:attr/listPreferredItemHeight" 
    android:orientation="vertical" 
    android:paddingLeft="@dimen/space_screen_borders" 
    android:paddingRight="@dimen/space_screen_borders" 
    android:background="@drawable/custom_selector" 
    > 
    ... your layout items 
</LinearLayout> 

マニフェスト活性を次のよう

<activity android:name=".ui.CustomerListActivity" android:clearTaskOnLaunch="true" android:theme="@style/Theme.AppList"> 

、最後にテーマを次のように

<style name="Theme.AppList"> 
    <item name="android:windowContentOverlay">@null</item> 
    <item name="android:windowBackground">@color/window_background</item> 
    <item name="android:listViewStyle">@style/AppListView</item> 
</style> 
<style name="AppListView" parent="@android:style/Widget.ListView.White"> 
    <item name="android:dividerHeight">4dp</item> 
    <!--item name="android:background">@color/</item--> 
    <item name="android:cacheColorHint">@color/list_item</item> 
    <item name="android:divider">@android:color/transparent</item> 
</style> 

リストビューは、要素の白い背景と、アクティビティの青い背景と、eの間の4dpの透明なスペースで意図したとおりに表示されます賃貸料。

0

あなたはこれに対する解決策は、私は、リスト項目のすべての状態を追加セレクタXMLを実装することでしたlistSelector @android:color/transparentを作りたいとも@color/selector_color

+0

多分私はこれを間違っているので、私はこれをよく聞いてください:個々の行ビューのセレクタを設定するにはどうすればいいですか? – Raykud

関連する問題