gpt4 book ai didi

android - 在 Android Spinner 中设置文本颜色

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:48:34 24 4
gpt4 key购买 nike

我想更改 Android 微调器中显示的所选项目的颜色(针对 API 级别 16 及更高版本)。我已经尝试过在 SO 上发布的几种解决方案,包括为我的微调项创建自定义布局以及使用 ColorStateList 作为自定义布局的文本颜色属性,但无济于事。微调器显示在半透明背景上 - 因此项目的自定义布局不起作用,因为它向微调器添加了颜色。目前我的黑客解决方案是

if (_colorCodeSpinner.getSelectedView() != null) {
((TextView) _colorCodeSpinner.getSelectedView()).setTextColor(0xFFFFFFFF);
}

但这仅在所选 View 不为空(它处于方向更改)时才有效。

我无法相信没有设置文本颜色的简单解决方案。这似乎是你经常做的事情。与更改箭头的颜色相同,我目前通过

_colorCodeSpinner.getBackground().setColorFilter(Color.WHITE, PorterDuff.Mode.SRC_ATOP);

我错过了什么吗?在微调器上更改颜色的推荐方法是什么?

Android spinner

如图所示,微调器中显示的所选项目的文本颜色为黑色,但我想将其更改为白色。

编辑

澄清一下:我不是在寻找在运行时覆盖值的一小段代码(比如我在这个问题中发布的两个 fragment )。我正在寻找一种正确执行此操作的实际方法(例如在 XML 布局中或通过主题)。设置一次文本颜色属性,这样我就不必每次都更新它,例如选择一个项目。

最佳答案

这样做:

  spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
((TextView) parent.getChildAt(0)).setTextColor(Color.WHITE); /* if you want your item to be white */
}

@Override
public void onNothingSelected(AdapterView<?> parent) {
}
});

关于android - 在 Android Spinner 中设置文本颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39247136/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com