如何为ListView项创建一个可绘制的状态列表?

时间:2011-05-26 23:44:53

标签: java android xml listview selector

我有一个自定义ListView选择器,它在ListView之上绘制。它工作正常,但我希望listview中的文本变为白色。我怎么能这样做?

<?xml version="1.0" encoding="utf-8"?>

<selector xmlns:android="http://schemas.android.com/apk/res/android">
  <item android:state_enabled="false" android:state_focused="true"
        android:drawable="@drawable/stocks_gradient" />
  <item android:state_pressed="true"
        android:drawable="@drawable/swipeview_selected_gradient" />
  <item android:state_focused="true"
        android:drawable="@drawable/swipeview_selected_gradient" />
</selector>

1 个答案:

答案 0 :(得分:0)

您需要为每个列表项应用特定颜色或选择器。

我有类似的东西(缩写)

布局/ dash_item.xml

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
             style="@style/DashboardListItem">
   ... Your text components etc ....

颜色/ dashboard_selector.xml

<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_enabled="false" android:state_focused="true"
           android:drawable="@android:color/transparent" />
     <item android:state_pressed="true"
           android:drawable="@color/dash_border_color" />
     <item android:state_focused="true"
           android:drawable="@color/dash_border_color" />
</selector>

值/ style.xml

 <style name="DashboardListItem">
        <item name="android:background">@color/dashboard_selector</item>
 </style>

您可能需要使用它来确定确切应用的位置。它可能会被简化。无论如何,这只是一个方向,因为我不知道你的具体要求。