Android样式/仅搜索对话框的主题
作者:互联网
tl; dr:应用主题中的白色文本样式由搜索对话框拾取,使搜索文本不可见.
我正在努力解决看似微不足道的问题.
我的应用程序使用的是深色背景,我使用#EEEEEE将文本颜色调整为比标准灰色更亮.
我已经实现了一个搜索对话框(pre-Honeycomb)并且运行良好,但搜索对话框中的文本选择了相同的#EEEEEE,因此它基本上是不可见的.即使我长按搜索文本时显示的上下文菜单也会选择#EEEEEE,因此该文本也是不可见的.
我正在撕扯我的头发,而且我的头发已经用完了.
样式:
<style name="master" paret="@android:style/Theme.NoTitleBar">
<item name="android:textColor">#EEEEEE</item>
<item name="android:windowNoTitle">true</item>
</style>
表现:
<application android:icon="@drawable/icon"
android:label="@string/app_label"
android:theme="@style/master"
android:hardwareAccelerated="true"
android:debuggable="true">
解决方法:
android:textColor属性并不意味着在主题样式中使用,它主要用于窗口小部件和文本外观样式.
如果要通过主题更改常规文本颜色,请使用android:textColor *属性系列.它们中有不少,不同的视图使用它们不同,因此需要进行一些实验(或仔细研究Android源代码)才能使其正常运行. android.R.attr文档列出了所有内容.查找以textColor开头的属性….
为了让你开始尝试这个主题,它会表现得更好,因为它根本不会影响搜索对话框颜色,这似乎是你想要的.顺便说一句,您不需要在主题中将android:windowNoTitle设置为true,因为您的父主题已经执行了:
<style name="master" parent="@android:style/Theme.NoTitleBar">
<item name="android:textColorPrimary">#EEEEEE</item>
<item name="android:textColorSecondary">#EEEEEE</item>
<item name="android:textColorTertiary">#EEEEEE</item>
</style>
标签:android,android-searchmanager,android-theme 来源: https://codeday.me/bug/20190902/1794319.html