在微调器中更改文本颜色

时间:2018-03-26 10:55:05

标签: java android android-spinner

我想在dropView中更改文本微调器中的文本颜色。我试图覆盖方法getDropDownView并更改文本颜色,但它不起作用。

SimpleCursorAdapter adapter = new SimpleCursorAdapter(
            this,
            android.R.layout.simple_spinner_item,
            extendedCursor, from, to, CursorAdapter.FLAG_REGISTER_CONTENT_OBSERVER) {

        @Override
        public View getDropDownView(int position, View convertView,android.view.ViewGroup parent){
            View v = convertView;
            if (v == null) {
                Context mContext = AddEditLoadActivity.this;
                LayoutInflater vi = (LayoutInflater) mContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
                // Androids orginal spinner view item
                v = vi.inflate(android.R.layout.simple_spinner_dropdown_item, null);
            }
            // The text view of the spinner list view
            TextView tv = (TextView) v.findViewById(android.R.id.text1);


            boolean disabled = !isEnabled(position);
            if(disabled){tv.setTextColor(Color.WHITE);}
            else{tv.setTextColor(Color.WHITE);}

            return v;
        }

        @Override
        public long getItemId(int position) {
            extendedCursor.moveToPosition(position);
            return extendedCursor.getLong(extendedCursor.getColumnIndex(DatabaseContract.DictionaryTable.ITEM_ID));
        }
    };

2 个答案:

答案 0 :(得分:0)

<?xml version="1.0" encoding="utf-8"?> <TextView xmlns:android="http://schemas.android.com/apk/res/android" android:id="@android:id/text1" style="?attr/spinnerDropDownItemStyle" android:layout_width="match_parent" android:layout_height="?attr/dropdownListPreferredItemHeight" android:ellipsize="marquee" android:singleLine="true" android:textColor="@color/your_color" /> 您的微调器适配器中的这一行使用默认行为,尝试使用自定义布局来更改文本颜色。

@android:id/text1

确保其ID为app.routing.ts且无法更改。

答案 1 :(得分:0)

使用自己的自定义布局

  1. 创建名为$ pip install 'six'

    的布局
    spinner_row.xml
  2. <?xml version="1.0" encoding="utf-8"?> <TextView xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:background="#316FA2" android:textSize="12sp" android:gravity="left" android:singleLine="true" android:padding="6dip" android:textColor="@color/white" />///you can add your color /> 替换为android.R.layout