【问题标题】:How to create a state list drawable for my ListView items?如何为我的 ListView 项目创建可绘制的状态列表?
【发布时间】:2011-05-26 23:44:52
【问题描述】:

我有一个在 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>

【问题讨论】:

    标签: java android xml listview selector


    【解决方案1】:

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

    我有这样的东西(略)

    布局/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>
    

    您可能需要使用它来确定应用程序的确切位置。大概可以简化。反正只是一个方向,不知道你的具体要求。

    【讨论】:

    • 我不确定你的意思?如何为每个列表项添加选择器?
    • 您通过适配器定义列表项布局,对吗?在任何情况下,您都需要为列表项添加一些布局。此布局将包含您的文本。因此,要更改此文本的颜色,您需要将样式或选择器应用于此特定布局或其中的组件。如果文本外观不必在点击或聚焦时改变,您可以设置textColor。如果它必须对状态做出反应,那么您将需要一个选择器。我会看看我是否能找到一些例子。
    • 好的,添加了一些示例。可能会有帮助。
    • 我已经在我的应用程序中这样做了。选择器看起来很好,但 listviewitem 中的文本没有改变。我希望文本字体颜色在突出显示时变为白色。
    • 您是否尝试将选择器直接应用于 TextView?此外,由于它具有 textColor 属性,因此可以使用textColor="@color/selector"。另请注意,我的选择器位于“颜色”而不是“可绘制”中。
    猜你喜欢
    • 2011-11-11
    • 1970-01-01
    • 2023-03-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多