【问题标题】:android custom spinner. selected item in blue colorandroid 自定义微调器。蓝色的选定项目
【发布时间】:2017-06-01 17:30:36
【问题描述】:

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

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

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

提前致谢。

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

【问题讨论】:

    标签: android android-spinner


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

      你可以通过以下代码来做到这一点。

      只需将样式应用到您的 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"" />
      

      【讨论】:

        【解决方案3】:

        您必须在运行时使用微调器的方法 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) {
                }
            });
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-10-04
          • 1970-01-01
          • 1970-01-01
          • 2021-05-13
          相关资源
          最近更新 更多