1

I defined a ListAdapter:

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

Then I defined a background color:

getListView().setBackgroundColor(Color.BLACK);

But now my problem is that the text color of the whole list is black and I can't see the list.

How can I change the textcolor?

4

4 回答 4

1

您可以执行以下操作来完成所需的任务

  1. 创建自定义列表视图或
  2. 定义样式如下
<?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>

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

于 2013-05-05T18:15:43.840 回答
0

如何更改文本颜色?

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

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

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));
于 2013-05-05T18:16:16.230 回答
0

您需要覆盖getView()的方法ArrayAdapter,并在那里更改文本的颜色。

像这样创建布局(row_layout)->

<?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>

现在在 JAVA 代码中 ->

setListAdapter(new ArrayAdapter<String>(TimeMode_Choose.this, R.layout.row_layout, R.id.listItem, Chooses));
于 2013-05-05T18:04:12.973 回答
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);
于 2013-05-05T18:09:31.607 回答