Android:在下拉列表中更改微调器项目的文本颜色

丹尼斯

我怎样才能改变一个微调项的文本颜色里面的下拉列表?

当我这样做时(在onItemSelected方法内部):

((TextView) view).setTextColor(getResources().getColor(R.color.accent));

或者

((TextView) spinner.getAdapter().getView(position, view, parent)).setTextColor(getResources().getColor(R.color.accent));

或者

((TextView) spinner.getChildAt(position)).setTextColor(getResources().getColor(R.color.accent));

或者

((TextView) spinner.getSelectedView()).setTextColor(getResources().getColor(R.color.accent));

它会更改微调框所选项目的颜色,但不会更改下拉列表内的颜色。

并这样做:

((TextView) spinner.getAdapter().getDropDownView(position, null, parent)).setTextColor(getResources().getColor(R.color.accent));

不起作用。

皮埃尔·乔治·米斯利(Pier Giorgio Misley)

您可以实现此目标,设置适配器。您应该创建一个自定义适配器,以一种简单的方式显示您的项目。

这是适配器的官方参考您可以为任何方法或变量引用它。

该SO链接具有解决方案

因此,您需要做的是:

  • 创建一个自定义适配器
  • 创建适配器的布局和Java代码(您可以在Google上轻松找到数千个示例
  • 从中添加代码(您将需要根据需要对其进行自定义。

适配器

 class HighLightArrayAdapter extends ArrayAdapter<CharSequence> {
    private int mSelectedIndex = -1;

    public void setSelection(int position) {
        mSelectedIndex =  position;
        notifyDataSetChanged();
    }

    public HighLightArrayAdapter(Context context, int resource, CharSequence[] objects) {
        super(context, resource, objects);
    }


    @Override
    public View getDropDownView(int position, View convertView, ViewGroup parent) {
        View itemView =  super.getDropDownView(position, convertView, parent);

        if (position == mSelectedIndex) {
            itemView.setBackgroundColor(Color.rgb(56,184,226));
        } else {
            itemView.setBackgroundColor(Color.TRANSPARENT);
        }

        return itemView;
    }
} 

PS:

由于该setSelection方法不是本地方法,因此您需要OnItemSelectedListener在活动中从中调用它

希望这可以帮助。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Android - 在微调器中设置特定项目的文本颜色

来自分类Dev

是否可以在下拉列表中更改所选项目的文本?

来自分类Dev

Android-如何在下拉菜单中更改所选项目的背景颜色

来自分类Dev

Android在微调器中更改文本颜色

来自分类Dev

在下拉菜单中更改项目的文本

来自分类Dev

如何在下拉菜单中更改选择列表项目的字体

来自分类Dev

在下拉列表中获取所选项目的值

来自分类Dev

如何获取微调列表的选定项目的文本并用该值填充android中的EditText

来自分类Dev

更改微调器项目文本

来自分类Dev

如何更改微调框的下拉列表颜色

来自分类Dev

在ListView中更改项目的颜色-Android

来自分类Dev

Android:当我单击微调器中的下拉列表时,请不要更改

来自分类Dev

在Android中更改ListView行项目的背景颜色和文本颜色

来自分类Dev

如何在操作栏中更改微调器文本颜色

来自分类Dev

如何更改微调器文本颜色

来自分类Dev

Android ListView-更改活动项目的文本颜色

来自分类Dev

在UIActionSheet中更改项目的文本颜色-iOS 8

来自分类Dev

更改组合框中“悬停的”项目的文本颜色?

来自分类Dev

如何更改Unity Dash中显示的项目的文本颜色?

来自分类Dev

提交前在下拉菜单中更改所选项目的值

来自分类Dev

如何在微调器中设置所选项目的颜色?

来自分类Dev

如何在微调器中设置所选项目的颜色?

来自分类Dev

如何在微调器中设置所选项目的颜色?

来自分类Dev

IE光标在下拉列表中更改

来自分类Dev

如何在下拉菜单中的OnMouseHover上更改文本颜色

来自分类Dev

Android:需要更改微调器的背景颜色

来自分类Dev

如何更改ListView项目的文本颜色?

来自分类Dev

无法更改ListView项目的文本颜色

来自分类Dev

更改所选 <li> 项目的文本颜色

Related 相关文章

  1. 1

    Android - 在微调器中设置特定项目的文本颜色

  2. 2

    是否可以在下拉列表中更改所选项目的文本?

  3. 3

    Android-如何在下拉菜单中更改所选项目的背景颜色

  4. 4

    Android在微调器中更改文本颜色

  5. 5

    在下拉菜单中更改项目的文本

  6. 6

    如何在下拉菜单中更改选择列表项目的字体

  7. 7

    在下拉列表中获取所选项目的值

  8. 8

    如何获取微调列表的选定项目的文本并用该值填充android中的EditText

  9. 9

    更改微调器项目文本

  10. 10

    如何更改微调框的下拉列表颜色

  11. 11

    在ListView中更改项目的颜色-Android

  12. 12

    Android:当我单击微调器中的下拉列表时,请不要更改

  13. 13

    在Android中更改ListView行项目的背景颜色和文本颜色

  14. 14

    如何在操作栏中更改微调器文本颜色

  15. 15

    如何更改微调器文本颜色

  16. 16

    Android ListView-更改活动项目的文本颜色

  17. 17

    在UIActionSheet中更改项目的文本颜色-iOS 8

  18. 18

    更改组合框中“悬停的”项目的文本颜色?

  19. 19

    如何更改Unity Dash中显示的项目的文本颜色?

  20. 20

    提交前在下拉菜单中更改所选项目的值

  21. 21

    如何在微调器中设置所选项目的颜色?

  22. 22

    如何在微调器中设置所选项目的颜色?

  23. 23

    如何在微调器中设置所选项目的颜色?

  24. 24

    IE光标在下拉列表中更改

  25. 25

    如何在下拉菜单中的OnMouseHover上更改文本颜色

  26. 26

    Android:需要更改微调器的背景颜色

  27. 27

    如何更改ListView项目的文本颜色?

  28. 28

    无法更改ListView项目的文本颜色

  29. 29

    更改所选 <li> 项目的文本颜色

热门标签

归档