Android Spinner文字颜色

时间:2012-03-21 16:06:07

标签: android drop-down-menu spinner customization

我有一个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;
}

};

所以我在下拉列表中对奇数行和偶数行使用不同的布局。 我给你一个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>

和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"/>

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

2 个答案:

答案 0 :(得分: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;
}

答案 1 :(得分:2)

请查看以下链接。它对我有用,而不需要使用自定义适配器。只是xml。 http://www.broculos.net/2013/09/how-to-change-spinner-text-size-color.html#.U2eJI_l5OSo