如何在Android中将项目文本颜色设置为Spinner的白色

时间:2014-11-24 19:58:50

标签: android spinner android-spinner

我正在使用我正在使用Spinner并且背景颜色为黑色的演示应用程序,因此Spinner选择的项目颜色默认为黑色,因此它不可见。

我希望通过xml或更新样式将此颜色更改为白色,以便黑色可见。

<Spinner
    android:id="@+id/countrySpinner"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_marginTop="15dp"
    android:hint="@string/country" />

enter image description here

有什么办法吗?提前谢谢。

2 个答案:

答案 0 :(得分:5)

尝试在OnItemSelectedListener中处理此问题。我认为以下内容应该有效。它获取所选项目的视图,在其中查找TextView(Spinner视图具有id为text1的TextView子项),并设置其颜色。

mySpinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {

        public void onItemSelected(AdapterView<?> arg0, View view,
                int position, long id) {

            TextView tmpView = (TextView) mySpinner.getSelectedView().findViewById(android.R.id.text1);
            tmpView.setTextColor(Color.WHITE);
        }

        public void onNothingSelected(AdapterView<?> arg0) {
            // do stuff

        }
    });

答案 1 :(得分:0)

在res / values / styles.xml中设置样式:

<style name="mySpinner" parent="@android:style/Widget.Holo.Dark.ProgressBar" />

并在您的Spinner上引用此样式:

<Spinner style="@style/mySpinner" ... />

父样式Widget.Holo.Dark.ProgressBar可以为您提供适合深色背景的微调器。

有关样式的信息,请参阅https://developer.android.com/guide/topics/resources/style-resource.html。您可以嗅探SDK res /文件夹以了解内置样式。