实际上我想要更改我为我的应用创建的列表视图的文本颜色...当我将listview的bacground颜色更改为白色时,listview中显示的文本不会显示为文本颜色也是白色。 .so有没有办法将listview的文本颜色更改为黑色,以便它在listView中可见..我正在发送我的代码你请检查它..
XML代码:
<LinearLayout android:id="@+id/LinearLayout01"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
xmlns:android="http://schemas.android.com/apk/res/android">
<LinearLayout android:layout_height="match_parent" android:id="@+id/linearLayout1" android:layout_width="wrap_content" android:orientation="vertical">
<LinearLayout android:layout_height="wrap_content" android:id="@+id/linearLayout2" android:layout_width="match_parent">
<TextView android:text="All Contacts"
android:id="@+id/textView1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="#808080"
android:textColor="#000000">
</TextView>
</LinearLayout>
<LinearLayout android:layout_height="wrap_content" android:id="@+id/linearLayout2" android:layout_width="match_parent">
<ListView android:id="@+id/ListView01"
android:layout_width="fill_parent"
android:layout_height="fill_parent" />
</LinearLayout>
</LinearLayout>
</LinearLayout>
Java代码:
private ListView lv1;
private String lv_arr[]={"Android","iPhone","BlackBerry","AndroidPeople","Android","iPhone"};
@Override
public void onCreate(Bundle icicle)
{
super.onCreate(icicle);
setContentView(R.layout.contact_activity);
lv1=(ListView)findViewById(R.id.ListView01);
lv1.setAdapter(new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1 , lv_arr));
lv1.setOnItemClickListener(new OnItemClickListener()
{
public void onItemClick(AdapterView<?> parent, View view,int position, long id)
{
String selecteditem = lv_arr[position];
Intent myIntent = new Intent(view.getContext(), ContactInfo.class);
myIntent.putExtra("item", selecteditem);
startActivity(myIntent);
}
});
}
答案 0 :(得分:3)
要更改listview项目的颜色/高度/宽度或任何外观和外观,您必须使用自定义适配器定义自定义列表视图。
首先,为listview定义listitem行文件,在其中使用任意颜色的Textview,然后将此行文件传递给自定义适配器。
以下是我的示例:tinyurl.com/buq5wdx,请查看此示例并根据您的要求进行自定义。
我完全同意Pragna的答案,但是如果您仍然想要使用带有1个imageview,1个imageview和1个textview或任何控件的2个文本视图的listview,则必须通过定义自定义适配器来自定义列表视图。
答案 1 :(得分:2)
listplaceholder.xml,包含列表视图和textview
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@android:color/white" >
<ListView
android:id="@id/android:list"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:drawSelectorOnTop="false"
android:dividerHeight="0.0px"
android:background="@android:color/white" />
<TextView
android:id="@id/android:empty"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Loading"
android:focusable="false"
android:clickable="true"
android:background="@android:color/white" />
</LinearLayout>
并且包含textview的list_item.xml是
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="@android:color/white">
<TextView android:id="@+id/item_title"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceMedium"
android:padding="2dp"
android:textSize="20dp"
android:textColor="@android:color/black"
android:background="@android:color/white" />
<TextView android:id="@+id/item_subtitle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="2dp"
android:textSize="12dp"
android:textColor="@color/grey"
android:background="@android:color/white" />
</LinearLayout>
在包含Textview put
的xml中android:textColor="@android:color/black"
android:background="@android:color/white"
希望这会起作用
或者你可以创建一个自定义arrayadapter并覆盖其中的 getView 方法。然后,您可以从此处更改背景颜色,字体颜色以及文本的fontFace。
Typeface localTypeface1 = Typeface.createFromAsset(getAssets(), "fonts/arial.ttf");
TextView tt = (TextView) v.findViewById(R.id.item_title);
tt.setText(results.get(position).get("title"));
tt.setBackgroundColor(color);
tt.setTextColor(color);
tt.setTypeface(localTypeface1);
答案 2 :(得分:0)
重复:put color in Listview dymically
如果您想进行自定义,则无法使用 android.R.layout.simple_list_item_1 。
您必须创建一个新的布局,例如 my_list_row.xml :
<xml version="1.0" encoding="utf-8">
<TextView
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textColor="yourcolor" />
并设置在活动:
中 lv1.setAdapter(new ArrayAdapter<String>(this,R.layout.my_list_item , lv_arr));
答案 3 :(得分:0)
解决方法是使用Base Adapter或Array适配器自定义列表视图。
lv1.setAdapter(Adapter Class Object).
在Adapter类中包含 getView()方法。此方法将构建列表视图列表的视图。因此,根据需要将膨胀的xml布局添加到 getView()。
答案 4 :(得分:0)
检查这些以获取更多信息:
http://www.anddev.org/view-layout-resource-problems-f27/changing-listview-text-color-t14527.html
更改android中列表视图的文本颜色
更改ListView中的文本颜色
为List项目制作布局并将其绑定到ListAdapter。有关自定义列表视图的示例,请参阅此站点:http://p-xr.com/android-tutorial-how-to-parseread-xml-data-into-android-listview/。 (帖子底部有一个Eclipse项目)