spinner-如何改变下拉列表中字体的颜色

问题描述

如何改变下拉列表中字体的颜色

关于Droid X的手机,用户反应说,在下拉列表中字体颜色变成白色,所以字体看不见,除非用户突出显示这一项。其他的手机没有出现这个问题。我要把字体强制的变成黑色来看看能否解决问题。我该怎么做呢?
这是我目前填充下拉列表的方法。看似simple_spinner_item在Droid X's中出错了。

String spin_arry[] = new String[str_vec.size()];
str_vec.copyInto(spin_arry);
ArrayAdapter adapter =
    new ArrayAdapter(this,android.R.layout.simple_spinner_item, spin_arry);

解决方案

在Android SDK使用Spinner工程案例:
首先,你要创建自定义的适配器,拦截下拉列表创建的视图:

static class CustomArrayAdapter<T> extends ArrayAdapter<T>
{
    public CustomArrayAdapter(Context ctx, T [] objects)
    {
        super(ctx, android.R.layout.simple_spinner_item, objects);
    }

    //其它构造函数

    @Override
    public View getDropDownView(int position, View convertView, ViewGroup parent)
    {
        View view = super.getView(position, convertView, parent);

        // simple_spinner_item 有 android.R.id.text1 TextView视图:         

        /* if(isDroidX) {*/
            TextView text = (TextView)view.findViewById(android.R.id.text1);
            text.setTextColor(Color.RED);//choose your color :)
        /*}*/

        return view;

    }
}

然后在你的代码中创建适配器:

String [] spin_arry = getResources().getStringArray(R.array.Planets);
 this.mAdapter = new CustomArrayAdapter<CharSequence>(this, spin_arry);

因为CustomArrayAdapter知道我使用android内置布局资源,也知道TextView视图中的文本会被使用idandroid.R.id.text1代替。这就是为什么它会拦截下拉列表创建的视图,然后变成想要的颜色。
屏幕截图:

解决方案二:

自己写一个R.layout.simple_spinner_item:

<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@android:id/text1"
    android:singleLine="true"
    android:layout_width="match_parent"
    android:layout_height="wrap_content" />

注意id必须是android:id="@android:id/text1",在设置字体或背景的颜色。
这样试一下。

ArrayAdapter adapter =
  new ArrayAdapter(this,packagename.R.layout.simple_spinner_item, spin_arry);

解决方案三:

简单的一个方法:

private OnItemSelectedListener OnCatSpinnerCL = new AdapterView.OnItemSelectedListener() {
  public void onItemSelected(AdapterView<?> parent, View view, int pos,
        long id) {
    ((TextView) parent.getChildAt(0)).setTextColor(Color.BLUE);
    ((TextView) parent.getChildAt(0)).setTextSize(5);
  }

  public void onNothingSelected(AdapterView<?> parent) {
  }
};
时间: 2024-10-03 14:16:34

spinner-如何改变下拉列表中字体的颜色的相关文章

vb2010利用checkbox和radiobox改变和恢复字体和颜色

问题描述 我是新手,网上关于利用checkbox和radiobox改变字体和颜色的帖子大部分是改变字体的属性而没有说明如果再恢复字体的颜色,经过试验终于成功,和大家分享,欢迎指导PublicClassForm1DimzfontstyleAsFontStylePrivateSubCheckBox1_CheckedChanged(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesCheckBox1.CheckedChangedIfC

如何用ASP.NET实现鼠标移动到按钮上,改变按钮和字体的颜色,移开又变回来!

问题描述 我的字体变不了?求助<asp:ButtonID="Button1"runat="server"BackColor="#252525"BorderColor="Black"style="top:0px;left:130px;position:absolute;height:45px;width:80px;background-color:#252525"Text="首页"F

使用selector修改TextView中字体的颜色

http://blog.csdn.net/dinglin_87/article/details/7885806

如何设置asp.net 中弹出一个对话窗中字体的颜色

问题描述 一般的写法是Response.Write("<script>window.alert(足球世界')</script>"),请问加上什么样的代码能使'足球世界'这几个字变为红色,或者使整个对话窗也为红色? 解决方案 解决方案二:那你只能用弹出层来做了,对话框实现不了这样的效果<divstyle="color:red;">足球世界</div>解决方案三:不能解决方案四:open出來的好像不行吧用div或是ifra

怎么修改pdf字体的颜色

  如何改变pdf文件中字体的颜色,我来谈一下我的经验,需要用到改变pdf文件字体颜色的小工具--foxit pdf editor,安装包见工具/原料.详细的步骤下面给出! 第一步:下载并安装Foxit PDF Edit软件. 第二步:打开 Foxit PDF Edit软件,如下图:   第三步:打开某篇PDF文件,如下图:   第三步:打开pdf文件后,选中要编辑颜色的文字,复制一段文字,然后右击,将"属性列表"选中(默认是打勾选中的),右边窗口会出现文本TEXT的属性列表,如下图:

怎样用javascript来改变链接中的文字的颜色和字体!!

javascript|链接 今天 经理说客户要把首页的链接的字体的样式改一下,就是要把鼠标 移动到一个链接(就是<a></a>)上面的时候,链接的字体和颜色都要变成 粗体和红色,而且鼠标移开后,颜色仍然不变,我刚开始用样式:a.link:hover {color:#FF0000;font-weight:bold;},但是想这样做的话只是鼠标移上去会变,移开后还是会变成以前的样式,客户的需求是:移上去后就变,移开后仍然保持链接为 粗体和红色.最后我自己用这种方法解决了: 首先,获取链

WinForm开发中针对TreeView控件改变当前选择节点的字体与颜色

本文转载:http://www.cnblogs.com/umplatform/archive/2012/08/29/2660240.html 在B/S开发中,对TreeView控件要改变当前选中节点的颜色比较方便,其有相应的SelectedNodeChanged事件进行控制,但对于WinForm则没有这样方便.申明一下,我在这儿所说的改变当前节点的字体与颜色,主要是在WinForm中的TreeView控件,当前选中节点后,其失去鼠标焦点后节点的字体与颜色失去了选中状态,层级一多,我们就不知道当前

使用C中自带的驱动去改变字体和颜色

一.c语言中字体的问题 c语言中有两种显示方式,即文本方式和图形方式.就我所知,只能在图形方式下控制字体. 先看一下c中定义的几种字体 名称 索引值 字体说明 default_font 0 8x8 bit-mapped font triplex_font 1 stroked triplex font small_font 2 stroked small font sans_serif_font 3 stroked sans-serif font gothic_font 4 stroked got

在树型控件中移动鼠标产生字体及颜色的变化

在Windows XP中资源管理器左侧显示目录树结构时,当在项目中移动鼠标的时候,项目标签 的文字的字体和颜色会产生变化,使目录的选择非常醒目.本人在学习制作Windows98的资源管 理器的过程中,加入了相似的功能,其基本思路是:在与TreeCtrl控件关联的类(CDirTreeCtrl) 中重载鼠标移动消息函数,设置相关的文本的颜色参数,在WM_PAINT消息映射函数定义的设备 环境中改变逻辑字体属性(由LOGFONT结构描述)并使用设置的字体,达到项目字体变动的目的. 具体内容如下: 1>