0 0

为何ListView中唯独不能设置字体颜色?5



public class TradeActivity extends Activity {

	ListView listview;
	@Override
	public void onCreate(Bundle savedInstanceState){
		super.onCreate(savedInstanceState);
        
		setContentView(R.layout.mystock);
		
		String[] models=new String[]{"aaa","bbb","abc","adc","zzz","xcd"};
		
		listview=(ListView)findViewById(R.id.listview);
		TradeAdapter adapter=new TradeAdapter(this,models);
		listview.setAdapter(adapter);
	}
	class TradeAdapter extends BaseAdapter{
		Context context;
		String[] array;
		TradeAdapter(Context context,String[] array){
			this.context=context;
			this.array=array;
		}
		@Override
		public int getCount() {
			// TODO Auto-generated method stub
			return array.length;
		}

		@Override
		public Object getItem(int position) {
			// TODO Auto-generated method stub
			return array[position];
		}

		@Override
		public long getItemId(int position) {
			// TODO Auto-generated method stub
			return position;
		}

		@Override
		public View getView(int position, View convertView, ViewGroup parent) {
			// TODO Auto-generated method stub
			if(convertView==null){
				LayoutInflater inflater = (LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
				convertView=inflater.inflate(R.layout.row_simple_list_item_2, null);
			}
			TextView textView0=(TextView)convertView.findViewById(R.id.simple_item_0);
			TextView textView1=(TextView)convertView.findViewById(R.id.simple_item_1);
			
			textView0.setText(array[position]);
			textView0.setTextColor(R.color.red);//不可以设置
			textView1.setTextSize(20);
			
			textView1.setText(array[position]);
			textView1.setTextSize(20);//可以设置
			return convertView;
		}
		
	}
}

row_simple_list_item_2.xml文件
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >
     <TextView android:id="@+id/simple_item_0"
        android:layout_width="100px"
        android:layout_height="fill_parent"
		android:gravity="center"
		android:layout_alignParentLeft="true"
		/>
		
    <TextView android:id="@+id/simple_item_1"
        android:layout_width="100px"
        android:layout_height="fill_parent"
		android:gravity="center"
		android:layout_toRightOf="@id/simple_item_0"
		/>
</RelativeLayout>

很简单的一个Listview,可为什么大小可以,颜色不可以?设置了颜色的那行居然不显示文字了。

问题补充:
sunleije 写道
ListView 的xml里有个cache color hint属性,你得把前景色设成透明,后面的字体颜色才能显示出来。。。

我已经设置了啊,我把ListView中可能的颜色都设置成#00000000,可还是老样子!

问题补充:我撞鬼了,这样又可以了。
public class App extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        
        String[] array={"aaa","bbb","ccc","ddd","abc"};
        ListView listview=(ListView)findViewById(R.id.listview);
//        listview.setCacheColorHint(Color.TRANSPARENT);
        AppAdapter adapter=new AppAdapter(this,array);
        listview.setAdapter(adapter);
    }
    class AppAdapter extends BaseAdapter{
    	Context context;
    	String[] array;
    	AppAdapter(Context context,String[] array){
    		this.context=context;
    		this.array=array;
    		
    	}
		public int getCount() {
			// TODO Auto-generated method stub
			return array.length;
		}

		public Object getItem(int position) {
			// TODO Auto-generated method stub
			return array[position];
		}

		public long getItemId(int position) {
			// TODO Auto-generated method stub
			return position;
		}

		public View getView(int position, View convertView, ViewGroup parent) {
			// TODO Auto-generated method stub
			if(convertView==null){
				LayoutInflater inflater=LayoutInflater.from(context);
				convertView=inflater.inflate(R.layout.simple_list_item_2, null);
			}
			TextView t_0=(TextView)convertView.findViewById(R.id.simple_item_0);
			TextView t_1=(TextView)convertView.findViewById(R.id.simple_item_1);
			t_0.setText(array[position]);
			t_0.setTextColor(Color.RED);
			t_0.setTextSize(20);
			
			t_1.setText(array[position]);
			t_1.setTextSize(20);
			return convertView;
		}
    	
    }
}

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >
    <ListView android:id="@+id/listview"
     android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    />
    <!-- 
    android:cacheColorHint="#00000000"
     -->
</LinearLayout>

我没有使用android:cacheColorHint


2011年3月03日 16:02
  • 大小: 5.2 KB
  • 大小: 4.3 KB

1个答案 按时间排序 按投票排序

0 0

采纳的答案

ListView 的xml里有个cache color hint属性,你得把前景色设成透明,后面的字体颜色才能显示出来。。。

2011年3月03日 17:08

相关推荐

    android listView 改变选中行的 字体颜色和 图片

    - 在自定义Adapter中,重写`getView()`方法,该方法负责为ListView的每个项创建或复用视图,并根据需要设置字体颜色和图片。 4. **在getView()中设置状态**: - 在`getView()`内部,可以通过检查视图的`...

    android 修改listview的不同item字体的颜色

    3. **颜色资源**:Android提供了多种方式设置颜色,如使用颜色常量(如`Color.RED`、`Color.BLACK`),或者使用颜色资源ID(如`R.color.my_color`)。颜色资源可以在`res/color`目录下定义。 4. **性能优化**:为了...

    Listview单元格颜色设置

    对于开发者而言,能够自定义ListView中的各项视觉属性(如字体、背景色等),不仅能够提升应用程序的美观度,还能增强用户体验。本文将详细介绍如何在Delphi中实现ListView单元格的颜色设置。 #### 一、理解...

    在listview中使用不同的字体或颜色.zip

    在某些情况下,我们可能希望为ListView中的每一项使用不同的字体或颜色,以突出显示特定的数据或者提升用户体验。本教程将深入探讨如何实现这一功能。 首先,我们需要创建一个自定义的Adapter,它是连接ListView与...

    android中设置ListView的选中的Item的背景颜色

    在这个文件中,我们可以为Item设置一个可变背景的View,如LinearLayout或RelativeLayout,并为其定义一个颜色属性。 3. **处理选中状态**:在`getView()`方法中,我们需要根据Item是否被选中来设置其背景颜色。我们...

    listview中改变item背景颜色

    因此,改变Item背景颜色通常有两种方法:一种是在Adapter中自定义视图,另一种是通过设置ListView的ItemDecoration。 1. 自定义Adapter中的View: 在自定义Adapter时,我们可以在`getView()`方法中动态设置每个...

    改变ListView网格颜色

    在VB(Visual Basic)编程中,ListView控件是常见的数据展示组件,用于显示列表或表格形式的数据。在某些情况下,为了提升用户界面的美观度和可读性,开发者可能需要自定义ListView的显示效果,例如改变网格的颜色。...

    listview点击后改变item颜色

    在Android开发中,ListView是一种常用的组件,用于展示大量的列表数据。标题"listview点击后改变item颜色"涉及到了ListView的一项常见交互设计,即当用户点击ListView中的某一项时,该项的背景颜色会发生变化,以...

    修订:更改listView中item不同状态下的颜色

    ListView通过Adapter类来连接数据源和视图,Adapter将数据转化为可以显示在ListView中的View。默认情况下,ListView的item颜色通常是统一的,如果要实现不同状态下的颜色变化,我们需要自定义ListView的Item布局,并...

    ListView的嵌套,动态设置ListView的高度

    首先,我们来理解为什么需要动态设置子ListView的高度。通常,ListView会根据其内容自动调整高度,但在嵌套的情况下,如果每个子ListView都默认撑满父ListView的高度,那么整个界面可能会显得过于拥挤,用户体验不佳...

    ListView选中item颜色改变

    在这个布局文件中,可以设置一个背景颜色,例如使用`android:background="@drawable/list_item_selector"`,这里`list_item_selector`是一个颜色选择器资源。 2. **创建颜色选择器资源** 在res/drawable目录下创建...

    listview改变选中行的字体颜色实例介绍

    目标:选中item,其字体设置为#3197FF,未选中的,其字体为#FFFFFF 与listvew设置选中行item背景图片一样,使用selector,不过这里的颜色设置,应该是在listview中的textview中设置。 代码如下: &lt;SPAN xss=removed&gt;&...

    标准简洁优化的ListView背景颜色不失效

    这样,即使视图被复用,也会根据新的数据项重新设置颜色。 总结来说,"标准简洁优化的ListView背景颜色不失效"这个例子向初学者展示了如何在处理ListView时避免常见的性能问题,并保持良好的视觉效果。通过学习和...

    listview列宽自动适应

    然而,`ListView`默认并不支持列宽的自动调整,这往往需要开发者自行实现,以确保列表中的数据能以最优化的方式展示给用户。 ### 关于“listview列宽自动适应” “listview列宽自动适应”这一知识点主要关注于如何...

    ListView中HeadView的使用

    在Android开发中,ListView是一种常用的控件,用于展示大量数据列表。它允许用户滚动查看内容,具有很好的性能优化。在实际应用中,我们有时需要在ListView的顶部添加一个特殊的视图,比如广告条、搜索框或者操作...

    android studio,demo,listview的测试,选中某一个选项item,颜色的变化。

    在这个"android studio,demo,listview的测试,选中某一个选项item,颜色的变化"项目中,我们将探讨如何在Android Studio中创建一个ListView,并实现点击某个列表项时,该项的颜色变化效果。这个功能通常用于提供用户...

    C# ListView中添加多种自定义控件源码

    例如,可以设置CheckBox或ComboBox的宽高、字体、颜色等属性。 综上所述,通过在C#的ListView中嵌入自定义控件,我们可以提供更丰富的用户交互,如选择多个项目或下拉选择。这不仅增强了用户界面的功能性,也使得...

    android 动态改变listview某一条的背景颜色

    我们常见的androidlistview 都是整体改变背景颜色,我今天上传的是 动态改变listview 其中一条或者多条的背景颜色,以及改变item的颜色。 不需要添加list的点击事件 就可以完成。

    listview行颜色演示+winform分屏切割

    - 在事件处理程序中,可以通过`e.Item`访问到当前绑定的项,然后检查其相关的数据模型(如数据库记录或自定义对象),根据条件设置背景色和字体颜色。 - 使用`e.Item.BackColor`和`e.Item.ForeColor`属性设置行的...

    WPF_ListView边框_每条颜色_数据绑定_多选择_字段可拖拽

    在本文中,我们将深入探讨基于WPF(Windows Presentation Foundation)技术的ListView控件,特别是针对标题和描述中提及的关键特性,包括边框设置、每条记录的颜色定制、数据绑定、多选择以及字段拖拽功能。...

Global site tag (gtag.js) - Google Analytics