android自定义微调器。所选项目为蓝色

时间:2013-10-12 11:00:22

标签: android android-spinner

我正在使用自定义微调器。它几乎与默认类似,只是我需要在每个项目的左侧设置填充(在文本之前的每一行的下拉填充中)。我能够做到这一点。但是,当值列表作为下拉列表显示给用户时,我还希望以不同的颜色显示所选项目。

我使用文本视图作为下拉项目。

有人可以建议是否可以这样做。我已经厌倦了用xml实现这一点,但我找不到任何选择。

提前致谢。

编辑: 蓝色所选项目的文字。

3 个答案:

答案 0 :(得分:3)

您可以为spinner元素指定android:dropDownSelector="@color/spinner_selector",并将spinner_selector颜色定义为#800000FF,例如。

请参阅 http://developer.android.com/reference/android/widget/Spinner.html#attr_android:dropDownSelector

答案 1 :(得分:1)

您可以通过以下代码来完成。

只需将样式应用于textview作为背景。



                        // TextStyle是包含以下代码的xml文件。

<item android:state_selected="false"
    android:drawable="@android:color/white" />

<item android:state_selected="true"
    android:drawable="android:drawable="@android:color/blue"" />

答案 2 :(得分:0)

您必须使用微调器的方法setOnItemSelectedListener在运行时更改textview的颜色。 例如,

  spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
        @Override
        public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
            TextView tv = (TextView) view.findViewById(R.id.tv );
            tv.setTextColor(R.color.green);
        }
        @Override
        public void onNothingSelected(AdapterView<?> parent) {
        }
    });