Android 如何设置微调器文本颜色?

Android 如何设置微调器文本颜色?,android,android-widget,Android,Android Widget,我无法在微调器小部件上设置颜色。这个样式如何 试着理解您使用的是SDK中提供的默认值所提供的下拉列表 只需使用自定义适配器创建自己的布局。如果要更改文本颜色: 否则,如JoxTraex所说,制作自己的布局是最好的方法。尝试将此适配器用于微调器: ArrayAdapter<String> adapter = new ArrayAdapter<String>(Home.Home_Group, R.layout.my_spinner_style, yourstrin

我无法在微调器小部件上设置颜色。这个样式如何


试着理解您使用的是SDK中提供的默认值所提供的下拉列表


只需使用自定义适配器创建自己的布局。

如果要更改文本颜色:


否则,如JoxTraex所说,制作自己的布局是最好的方法。

尝试将此适配器用于微调器:

ArrayAdapter<String> adapter = 
    new ArrayAdapter<String>(Home.Home_Group, R.layout.my_spinner_style, yourstringarray)
{

    public View getView(int position, View convertView, ViewGroup parent) {
        View v = super.getView(position, convertView, parent);

        ((TextView) v).setTextSize(16);
        ((TextView) v).setTextColor(
            getResources().getColorStateList(R.color.white)
        );

        return v;
    }

    public View getDropDownView(int position, View convertView, ViewGroup parent) {
        View v = super.getDropDownView(position, convertView, parent);
        v.setBackgroundResource(R.drawable.spinner_bg);

        ((TextView) v).setTextColor(
            getResources().getColorStateList(R.color.spinner_text)
        );

        ((TextView) v).setTypeface(fontStyle);
        ((TextView) v).setGravity(Gravity.CENTER);

        return v;
    }
};
简单明了

private OnItemSelectedListener your_spinner _name= new AdapterView.OnItemSelectedListener() {
    public void onItemSelected(AdapterView<?> parent, View view, int pos,
            long id) {

        ((TextView) parent.getChildAt(0)).setTextColor(Color.BLUE);


    }

    public void onNothingSelected(AdapterView<?> parent) {

    }
};
private OnItemSelectedListener您的微调器\u name=new AdapterView.OnItemSelectedListener(){
已选择公共视图(AdapterView父视图、视图、int pos、,
长id){
((TextView)parent.getChildAt(0)).setTextColor(Color.BLUE);
}
未选择公共无效(AdapterView父级){
}
};
最简单的形式是:

m_spnDia = (Spinner)findViewById(R.id.spiDia);
TextView oTextView = (TextView)m_spnDia.getChildAt(0);
oTextView.setTextColor(Color.RED);

一个较短的替代Andro答案的方法是让
ArrayAdapter
从布局资源为您创建项目视图:

final List<String> values = [SPINNER VALUES];
final ArrayAdapter<String> adapter = new ArrayAdapter<>(
    activity, R.layout.my_spinner_item, values);
adapter.setDropDownViewResource(R.layout.my_spinner_dropdown_item);
spinner.setAdapter(adapter);
注意:
my\u spinner\u dropdown\u项目
在选项列表出现时使用


有关更多信息,请阅读文档。

这正是我需要的。但是,如果您在活动的onCreate()函数中使用_spinner.setOnItemSelectedListener()执行此操作,请不要忘记在移动设备的方向随更改时防止onCreate出现,否则会出现空错误。
m_spnDia = (Spinner)findViewById(R.id.spiDia);
TextView oTextView = (TextView)m_spnDia.getChildAt(0);
oTextView.setTextColor(Color.RED);
final List<String> values = [SPINNER VALUES];
final ArrayAdapter<String> adapter = new ArrayAdapter<>(
    activity, R.layout.my_spinner_item, values);
adapter.setDropDownViewResource(R.layout.my_spinner_dropdown_item);
spinner.setAdapter(adapter);
<?xml version="1.0" encoding="utf-8"?>
<TextView
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@android:id/text1"
    style="@style/my_spinner_item_style"
/>