更改ListView字体颜色

本帖最后由 kerrisr 于 2010-7-6 23:03 编辑

最近使用listview遇到个问题,我把listview的background设置为#ffffff白色,然后里面的字体默认页是白色的就导致看不见了。所以我想改为其他颜色
具体代码如下:
java文件:
  1. package com.kerrisr.testlistview;

  2. import java.util.ArrayList;

  3. import android.R.anim;
  4. import android.app.Activity;
  5. import android.os.Bundle;
  6. import android.widget.ArrayAdapter;
  7. import android.widget.ListView;

  8. public class MainLVActivity extends Activity {
  9.     /** Called when the activity is first created. */
  10.         private ArrayList<String> lvList;
  11.         private ListView lv;
  12.         private ArrayAdapter<String> lvAdapter;
  13.     @Override
  14.     public void onCreate(Bundle savedInstanceState) {
  15.         super.onCreate(savedInstanceState);
  16.         setContentView(R.layout.main);
  17.         lv = (ListView) findViewById(R.id.ListView01);
  18.         lvList = new ArrayList<String>();
  19.         lvList.add("Iphone");
  20.         lvList.add("Ophone");
  21.         lvList.add("Lphone");
  22.         lvAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1,lvList);
  23.         lv.setAdapter(lvAdapter);
  24.     }
  25. }
复制代码
xml文件如下:
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  3.         android:orientation="vertical" android:layout_width="fill_parent"
  4.         android:layout_height="fill_parent" android:background="#ffffff">

  5.         <ListView android:id="@+id/ListView01" android:layout_width="wrap_content"
  6.                 android:layout_height="wrap_content">
  7.         </ListView>
  8. </LinearLayout>
复制代码
现在情况是,我不想自定义adapter和layout就使用系统默认的android.R.layout.simple_list_item_1。有没什么方法能够改变字体的颜色
,例如改为黑色。
打包的代码:
  TestListView.rar (38.06 KB, 下载次数: 561) 
不知道大家有什么好方法没?

 
 
 
   

从三品

首席架构师

左都尉

Rank: 75Rank: 75Rank: 75

    
UID
28742
博客
0

三级英豪勋章 四级英才勋章 五级至尊勋章 六级尊贵勋章 七级卓越勋章 八级荣誉勋章 九级光辉勋章 十级贡献勋章 一颗红心 一举成名

2#
  kerrisr  发表于 2010-8-31 01:38:39  | 只看该作者
 
怎么没人回答。。V哥和thelunsu 哥进来看看啊。

 
 
 
 
   

管理员

科学家

右将军

    
UID
1
博客
133

一级王者勋章 二级精英勋章 三级英豪勋章 四级英才勋章 五级至尊勋章 六级尊贵勋章 七级卓越勋章 八级荣誉勋章 九级光辉勋章 十级贡献勋章 一颗红心 一举成名 激情勋章 DD博主 DD人才

3#
  Vincent  发表于 2010-8-31 01:38:56  | 只看该作者
 
自己定义一个listview item资源xml,使用android:textColor指定文字的颜色,比如我定义了item1.xml,内容为:
<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/text1"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:textAppearance="?android:attr/textAppearanceLarge"
    android:textColor="#000000"
    android:gravity="center_vertical"
    android:paddingLeft="6dip"
    android:minHeight="?android:attr/listPreferredItemHeight"
/>
然后再改一下程序:
lvAdapter = new ArrayAdapter<String>(this, R.layout.item1,lvList);

 
 
 
   

管理员

科学家

右将军

    
UID
1
博客
133

一级王者勋章 二级精英勋章 三级英豪勋章 四级英才勋章 五级至尊勋章 六级尊贵勋章 七级卓越勋章 八级荣誉勋章 九级光辉勋章 十级贡献勋章 一颗红心 一举成名 激情勋章 DD博主 DD人才

4#
  Vincent  发表于 2010-8-31 01:39:00  | 只看该作者
 
我定义的这个xml是照frameworks\base\core\res\res\layout\simple_list_item_1.xml 抄的,加了一行指定字体颜色。
android.R.layout.simple_list_item_1的定义就是frameworks\base\core\res\res\layout\simple_list_item_1.xml

 
 
 
   

管理员

科学家

右将军

    
UID
1
博客
133

一级王者勋章 二级精英勋章 三级英豪勋章 四级英才勋章 五级至尊勋章 六级尊贵勋章 七级卓越勋章 八级荣誉勋章 九级光辉勋章 十级贡献勋章 一颗红心 一举成名 激情勋章 DD博主 DD人才

5#
  Vincent  发表于 2010-8-31 01:39:35  | 只看该作者
 
如果想动态改变,就是自己实现adapter,在getView中调用:
                public View getView(int position, View convertView, ViewGroup parent) {
                        if (convertView == null) {
                                convertView = mLayoutInflater.inflate(R.layout.item1, parent, false);
                        }
                        mView = (TextView) convertView.findViewById(R.id.text1);
                        mView.setText(...);
                        mView.setTextColor(...);
                        return convertView;
                }

 
 
 
   

从三品

首席架构师

左都尉

Rank: 75Rank: 75Rank: 75

    
UID
28742
博客
0

三级英豪勋章 四级英才勋章 五级至尊勋章 六级尊贵勋章 七级卓越勋章 八级荣誉勋章 九级光辉勋章 十级贡献勋章 一颗红心 一举成名

6#
  kerrisr  发表于 2010-8-31 01:39:45  | 只看该作者
 
回复 5# Vincent 
V哥太厉害了,谢谢啊,我之前也在找那个xml,结果我找到android.jar下res里的layout发现双击后打不开好像是已经编译好的2进制的文件,你是把所有源码下载下来才找到的layout是吧?

 
 
 
 
   

管理员

科学家

右将军

    
UID
1
博客
133

一级王者勋章 二级精英勋章 三级英豪勋章 四级英才勋章 五级至尊勋章 六级尊贵勋章 七级卓越勋章 八级荣誉勋章 九级光辉勋章 十级贡献勋章 一颗红心 一举成名 激情勋章 DD博主 DD人才

7#
  Vincent  发表于 2010-8-31 01:40:01  | 只看该作者
 
我老早就把源代码都下载下来了,有备无患{:3_57:}

 
 
 
   

正八品

实习工程师

水母

Rank: 2Rank: 2

    
UID
60047
博客
0
8#
  lds2012  发表于 2010-9-1 10:24:23  | 只看该作者
 
<ListView android:id="@id/android:list"
               android:cacheColorHint="#00000000"
    />

在listView上面设置一个cachecolorHint后,就可以自由在list里面的元素上面设置textColor了。

 
 
 
 
   

正八品

实习工程师

新兵

Rank: 2Rank: 2

    
UID
112789
博客
0
9#
  choclover  发表于 2010-9-4 05:13:12  | 只看该作者
 
Vincent 发表于 2010-7-6 23:00 
自己定义一个listview item资源xml,使用android:textColor指定文字的颜色,比如我定义了item1.xml,内容为 ...

你这个写法在2.2版本已经不好用了,要改为如下的代码。

<TextView xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@android:id/text1" android:layout_width="match_parent"
        android:layout_height="?android:attr/listPreferredItemHeight"
        android:paddingLeft="?android:attr/expandableListPreferredItemPaddingLeft"
        android:textAppearance="?android:attr/textAppearanceLarge"
        android:textColor="@color/black"
        android:gravity="center_vertical" />

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
在C#中,要设置ListView中的字体大小,可以通过修改ListView的子项的布局来实现。你可以创建一个新的布局文件,例如list_textfont.xml,然后在该布局文件中设置TextView的字体大小。例如,你可以在布局文件中添加以下代码: ```xml <?xml version="1.0" encoding="utf-8"?> <TextView xmlns:android="http://schemas.android.com/apk/res/android" android:text="TextView" android:layout_width="fill_parent" android:textSize="20sp" android:id="@+id/list_textfont" android:layout_height="50dp" android:paddingTop="12dp" /> ``` 然后,在设置ListView的适配器时,将该布局文件作为参数传递给ArrayAdapter的构造函数。例如: ```java list.setAdapter(new ArrayAdapter<String>(this, R.layout.list_textfont, data)); ``` 通过这种方式,你可以在ListView中设置字体的大小。请注意,这里的示例是基于Android开发中的Java代码,如果你使用的是C#开发,可以根据相应的语法进行调整。\[1\]\[2\] #### 引用[.reference_title] - *1* [关于listview字体大小问题!](https://blog.csdn.net/xuyan87101/article/details/6428723)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [修改ListView表项的字体大小](https://blog.csdn.net/yangyang031213/article/details/84401305)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [C#中设置ListView的ColumnsHeader的字体大小,颜色及背景色](https://blog.csdn.net/Micro_Ryan/article/details/130780640)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值