gpt4 book ai didi

android - 如何更改 Spinner 字体颜色?

转载 作者:IT老高 更新时间:2023-10-28 22:23:56 24 4
gpt4 key购买 nike

我在使用 Droid X 手机时遇到了问题,用户说在微调器中字体颜色变成了白色,除非用户突出显示这些项目,否则它是不可见的。其他手机似乎没有这个问题。我打算强制字体为黑色,看看是否有帮助。我怎样才能做到这一点?

这是我目前填充微调器的方式。似乎 simple_spinner_item 在 Droid X 上被破坏了。

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 项目示例作为下一个代码示例。


代码:

首先,您需要创建自定义适配器,它将拦截下拉列表中 View 的创建:

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

//other constructors

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

//we know that simple_spinner_item has 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内置的布局资源,它也知道文本会放在id为android.R.id的TextView中.text1。这就是为什么它可以拦截下拉列表中 View 的创建并将文本颜色更改为所需的任何颜色。


截图:

enter image description here

关于android - 如何更改 Spinner 字体颜色?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4361604/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com