将应用程序主题textColor设置为白色会导致上下文菜单项文本为白色(不可见)



好吧,这让我发疯了。为了给我的应用添加皮肤,我在我的主题中设置了以下内容:

<item name="android:textColor">#FFFFFF</item>

应用中的所有文本都变成白色,除非我在布局xml中手动覆盖它。太好了,太简单了。除了我的上下文菜单选项中的文本(从列表等)也决定变成白色。

这不是很好,因为白色很难阅读。我尝试了各种解决方案,包括搜索如何更改上下文菜单的文本颜色(没有骰子)和在我的主题中创建textAppearance项。最后一个解决方案没有改变我的应用程序中的所有文本字段,这是令人沮丧的。

有什么建议吗?希望我的困境已经清楚了。

在你的styles.xml中尝试重写textViewStyle而不是仅仅所有 textColor属性:

<style name="Theme.Blundell.Light" parent="@android:style/Theme.NoTitleBar">
    <item name="android:windowBackground">@drawable/background_light</item>
    <item name="android:textViewStyle">@style/Widget.TextView.Black</item>
</style>
<style name="Widget.TextView.Black" parent="@android:style/Widget.TextView">
    <item name="android:textColor">#000000</item>
</style>

你甚至可以更进一步,为某个视图重写颜色,比如按钮:

<style name="Widget.Holo.Button" parent="@android:style/Widget.Holo.Button">
    <item name="android:textColor">#FFFFFF</item>
</style>
<style name="Theme.Blundell" parent="@android:style/Theme.Holo.NoActionBar">
    <item name="android:colorBackground">@android:color/transparent</item>
    <item name="android:buttonStyle">@style/Widget.Holo.Button</item>
</style>

如果你有灵感做更多的主题检查Android源代码,这是最好的地方,了解你能做什么和不能做什么!:

https://github.com/android/platform_frameworks_base/tree/master/core/res/res/values

使用

parent="Theme.AppCompat.Light.DarkActionBar"

相关内容

  • 没有找到相关文章

最新更新