Android Spinner文字颜色

tin*_*nti 3 customization android spinner drop-down-menu

我有一个Spinner,为了填充他我使用SimpleCursorAdapter.我希望微调器的字体颜色为黑色,下拉的字体颜色为白色.我有这个代码:

String[] column = { "name" };
int[] viewIds = new int[] { R.id.spinner_dropdown_design_from };

SimpleCursorAdapter fromListAdapter = new SimpleCursorAdapter(MyClass.this, R.layout.spinner_drop_down_from, cursor,
        column, viewIds) {

@Override
public View getDropDownView(int position, View convertView, ViewGroup parent) {
    View viewFromListAdapter = super.getDropDownView(position, convertView, parent);
    if (position % 2 == 0) {
        viewFromListAdapter.setBackgroundResource(R.layout.dropdown_selector_odd);
    } else {
        viewFromListAdapter.setBackgroundResource(R.layout.dropdown_selector_even);
    }
    return viewFromListAdapter;
}
Run Code Online (Sandbox Code Playgroud)

};

所以我在下拉列表中对奇数行和偶数行使用不同的布局.我给你一个dropdown_selector_even的例子

 <?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_selected="true" android:drawable="@drawable/grey_background"/>
    <item android:state_focused="true" android:drawable="@drawable/blue_background"/>
    <item android:state_pressed="true" android:drawable="@drawable/blue_background"/>
    <item android:drawable="@drawable/grey_background"/>
</selector>
Run Code Online (Sandbox Code Playgroud)

和spinner_drop_down_from

<?xml version="1.0" encoding="utf-8"?>
<TextView
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/spinner_dropdown_design_from"
    android:layout_height="100dip"
    android:layout_width="fill_parent"
    android:paddingLeft="20dip"
    android:textSize="40dip"
    android:gravity="center_vertical"
    android:textStyle="normal|bold" 
    android:textColor="#000000"/>
Run Code Online (Sandbox Code Playgroud)

有人能帮我吗?提前致谢!

tin*_*nti 6

我找到了解决方案.我还必须覆盖getView方法

@Override
public View getView(int position, View convertView, ViewGroup parent) {
View view = super.getView(position, convertView, parent);
TextView text = (TextView) view.findViewById(R.id.spinner_dropdown_design_products);
text.setTextColor(Color.WHITE);
return view;
}
Run Code Online (Sandbox Code Playgroud)