在android中我想将一种颜色应用到我的ListView。
以下是ListView
:
listView = (ListView) findViewById (R.id.listView1)
和我的适配器显示列表:
adapter = new ArrayAdapter <String> (this, android.R.layout.simple_list_item_1,
ArrayofName);
listView.setAdapter (adapter);
我的变量包含颜色:int textColor
。我怎么能这样做?例如,您可以像这样更改列表的背景:
listView.setBackgroundColor(textColor);
但我想改变文字的颜色。
答案 0 :(得分:0)
你正在使用:
android.R.layout.simple_list_item_1
使用带有ID mytextview1的textview创建一个新的XML文件your_custom_layout.xml,并将XML中的文本颜色设置为
android:textColor="#ff0000"
然后像这样设置你的适配器:
setListAdapter(new ArrayAdapter<String>(this, R.layout.your_custom_layout, R.id.mytextview1, ArrayofName));
答案 1 :(得分:0)
您需要使用自定义TextView xml来更改ListView项目中的文本颜色。
另一种最简单的方法是使用textSize,textStyle,color等创建一个包含所需textview的布局文件,然后将其与ArrayAdapter一起使用。
<强> list_text.xml 强>
<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/textview"
android:textColor="@color/mycolor"
android:layout_width="fill_parent"
android:layout_height="wrap_content"/>
更改您的代码以使用此textview而不是simple_list_item_1,如下所示:
adapter = new ArrayAdapter <String> (this, android.R.layout.list_text,
ArrayofName);
listView.setAdapter (adapter);
希望这有帮助。
答案 2 :(得分:0)
这样做
dataAdapter = new ArrayAdapter<String>(this,
android.R.layout.simple_list_item_1, allData) {
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View view = super.getView(position, convertView, parent);
TextView text = (TextView) view
.findViewById(android.R.id.text1);
text.setTextColor(Color.parseColor("#FBB117"));
return view;
}
};