更改 ListView 的 textcolor

Posted

技术标签:

【中文标题】更改 ListView 的 textcolor【英文标题】:Change ListView's textcolor 【发布时间】:2011-07-30 16:53:52 【问题描述】:

我正在尝试更改 ListView 的文本 color,但我找不到如何做到这一点..

    listViewObject= (ListView) findViewById(R.id.chathlist);        
    ArrayList<String> chatHistory = new ArrayList<String>();
    chatHistory.add("Msg 1");
    chatHistory.add("Msg 2");
    chatHistory.add("Msg 3");
    chatHistory.add("Msg 4");
    chatHistory.add("Msg 5");
    chatHistory.add("Msg 6");
    chatHistory.add("Msg 7");
    ArrayAdapter aa=new ArrayAdapter<String>(getApplicationContext(),
    android.R.layout.simple_list_item_1, chatHistory);
    listViewObject.setAdapter(aa);
    listViewObject.invalidate();

我尝试了很多方法,但我无法更改颜色。这可能是一件简单的事情,但我正在努力解决这个问题。

我的 XML 文件是

  <RelativeLayout android:id="@+id/chat_history_container"
            android:layout_ android:layout_>
            <ListView android:paddingTop="15dip" android:paddingBottom="15dip"
                android:layout_ android:paddingLeft="15dip"
                android:layout_ android:id="@+id/chathlist"
                android:layout_gravity="center_horizontal"
                android:layout_centerInParent="true" android:paddingRight="15dip"
                 android:textColor="#FF0000"  android:listSelector="@drawable/gradient_box" >
            </ListView>
  </RelativeLayout>

【问题讨论】:

【参考方案1】:

查看这些以获取更多信息:

http://www.anddev.org/view-layout-resource-problems-f27/changing-listview-text-color-t14527.html

Changing text color of list view in android

Change Text Color in ListView

为您的列表项制作布局并将其绑定到 ListAdapter。

【讨论】:

【参考方案2】:

问题是您使用的是默认列表项布局“android.R.layout.simple_list_item_1”。如果要更改列表视图中文本的颜色,您必须使用正确的文本颜色创建自己的列表项布局。

您可以将此项目添加到您的布局文件夹中:

<TextView xmlns:android="http://schemas.android.com/apk/res/android"
 android:id="@android:id/text1"
        style="?android:attr/listItemFirstLineStyle"
        android:paddingTop="2dip"
        android:paddingBottom="3dip"
    android:layout_
    android:layout_ 
    android:textColor="#FF0000" /> 

然后传递这个item而不是android.R.layout.simple_list_item_1

【讨论】:

如果您的列表视图设置为 singleChoice 以显示 RadioButtons,这当然是无用的。编写自己的自定义布局需要开发自己的适配器和更多代码。如果所有列表都只显示没有 RadioButtons 的文本项,则您的解决方案很好。

以上是关于更改 ListView 的 textcolor的主要内容,如果未能解决你的问题,请参考以下文章

ListView,更改错误的项目视图

可以动态更改 ListView 的适配器吗?

如何根据位置更改listView项目的颜色

动态更改ListView ItemsPanel高度

如何更改 ListView 项目的高度?

在 Android 上更改 ListView 项目的背景颜色