2011-05-26 81 views
0

我有一个自定义的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> 

回答

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> 

Y你可能需要与它一起玩,以确定事情的确切位置。它可能可以简化。无论如何,这只是一个方向,因为我不知道你的具体要求。

+0

我不确定你的意思?我怎样才能给每个列表项添加一个选择器? – 2011-05-27 06:05:30

+0

您可以通过适配器定义列表项目布局,对吧?无论如何,您需要为列表项目填充一些布局。这个布局将包含您的文本。所以要改变这个文本的颜色,你需要将样式或选择器应用到其中的特定布局或组件。如果文本看起来不需要改变点击或焦点,你可以设置'textColor'。如果它必须对状态作出反应,那么你需要一个选择器。我会看看我是否找到一些例子。 – 2011-05-27 06:28:30

+0

好的,增加了一些例子。可能会有所帮助。 – 2011-05-27 06:35:49

相关问题