關於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
代替。這就是為什麼它會攔截下拉列表創建的視圖,然後變成想要的顏色。
屏幕截圖: