首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

Android Spinner 下拉選單字體顏色自訂:攔截 DropDownView 設置顏色

     編輯:程式設計綜合問答

繼承 ArrayAdapter 並覆寫 getDropDownView(),找到內建 TextView(android.R.id.text1)設定文字顏色,解決特定機型(如 Droid X)下拉選單字體不可見問題。

自訂適配器

static class CustomArrayAdapter extends ArrayAdapter {
    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.getDropDownView(position, convertView, parent);
        TextView text = view.findViewById(android.R.id.text1);
        text.setTextColor(Color.BLACK); // 或 Color.RED 等
        return view;
    }
}

使用方式

String[] items = getResources().getStringArray(R.array.planets);
CustomArrayAdapter adapter = new CustomArrayAdapter<>(this, items);
spinner.setAdapter(adapter);

原理

  • simple_spinner_item 內建 TextView ID 為 android.R.id.text1。
  • getDropDownView 僅影響下拉清單項目外觀,不影響主視圖。
  • 可在此進一步自訂字型大小、背景等。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved