如何为ListAdapter设置文本颜色?

时间:2013-05-05 17:58:26

标签: java android listadapter

我定义了一个ListAdapter:

setListAdapter(new ArrayAdapter<String>(TimeMode_Choose.this, android.R.layout.simple_list_item_1, Chooses));

然后我定义了背景颜色:

getListView().setBackgroundColor(Color.BLACK);

但现在我的问题是整个列表的文字颜色是黑色的,我看不到列表。

如何更改文字颜色?

4 个答案:

答案 0 :(得分:1)

你可以做以下事情来完成所需的任务

  1. 创建自定义列表视图或
  2. 定义下面的样式
  3. <?xml version="1.0" encoding="utf-8"?>
    <resources>
    
    <style name="ListFont" parent="@android:style/Widget.ListView">
        <item name="android:textColor">#FF0000</item>
        <item name="android:typeface">sans</item>
    </style>
    
    </resources>
    

    将此样式添加到Manifest XML文档中的Activity定义中,作为android:theme属性,并将您创建的样式的名称指定为值。

答案 1 :(得分:0)

您需要覆盖getView()的{​​{1}}方法,并更改其中的文字颜色。

像这样创建布局(row_layout) - &gt;

ArrayAdapter

现在使用JAVA代码 - &gt;

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content" >

    <TextView
        android:id="@+id/listItem"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@+id/listItem"
        android:textSize="20px" >
    </TextView>

</LinearLayout>

答案 2 :(得分:0)

将包含列表的布局的背景颜色更改为xml文件或java代码中的其他颜色。

<RelativeLayout 
  xmlns:android="http://schemas.android.com/apk/res/android"
  android:layout_width="fill_parent" 
  android:layout_height="fill_parent" 
  android:background="#FFFFFF">

<ListView..../>

RelativeLayout rl=(RelativeLayout)findViewById(R.id.your_layout_id);
rl.setBackgroundColor(Color.WHITE);

答案 3 :(得分:0)

  

如何更改文字颜色?

您不需要创建自定义适配器(如Vishal建议的那样),您也可以使用标准ArrayAdapter执行此操作(假设您只需要一个TextView)。

您只需使用this构造函数,而不是当前的构造函数:

public ArrayAdapter (Context context, int resource, int textViewResourceId, T[] objects)

现在创建一个只有TextView的Layout,并将其设置为您想要的任何颜色,并设置您的适配器,如下所示:

setListAdapter(new ArrayAdapter<String>(TimeMode_Choose.this, R.layout.my_layout, R.Id.myTextViewsId, Chooses));