更改 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的主要内容,如果未能解决你的问题,请参考以下文章