程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程綜合問答 >> spinner-如何改變下拉列表中字體的顏色

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

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved