我在Welcome Activity上有一些基本代码,它像往常一样简单地绑定List适配器:
final ArrayAdapter<String> spinnerAdapter = new ArrayAdapter<>(this, android.R.layout.simple_spinner_item, android.R.id.text1);
spinnerAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
此以前一直有效,直到我更新到API级别25 。此时,没有其他更改,微调器下拉列表的文本变得不可读:
我的主题的父母是&#34; Theme.AppCompat.Light.NoActionBar&#34;但同样,我没有玩色彩那里没有任何改变,因为它正确显示(API&lt; 25)。有什么想法吗?
我知道我可以使用setTextColor()
内的spinner.setOnItemSelectedListener()
来修复它,但重点是理解为什么它在工作,现在它没有,因为这可能是某事的标志概念错误在我身边,甚至某种Android错误。事实上,我注意到相同的问题(深色背景上的黑色文字)在非常标准的小部件/应用程序上,如Cyanogen / LineageOS默认天气一:
答案 0 :(得分:0)
我有同样的问题。
您的颜色定义可能是android:textColor="#FFFFFFFF"
。当我将其固定为android:textColor="#FF000000"
时,它工作正常。或者,您可以使用android:textColor="#FFFFFFFF"
。
从我的共同工作中听说,前2个十六进制含义已更改。 SDK版本24已更改。
答案 1 :(得分:0)
对我来说,问题是在运行时,当我尝试创建微调器时,颜色有问题,所以我做了一个解决方法,在文本中使用我想要的颜色制作布局,并在黑暗模式下设置此布局,只需制作很明显,我在测试开始时使用了默认主题,但它也不起作用,我创建并放入 color.xml 文件中的内容也不起作用
/* Start Workaround */
int layout = R.layout.simple_spinner_item_black;
if (AppCompatDelegate.getDefaultNightMode() == AppCompatDelegate.MODE_NIGHT_YES){layout = R.layout.simple_spinner_item_white;}
/* End Workaround */