Tom*_*idd 7 android themes styles spinner textview
我正在写一个需要以下两件事的App:
TextViews中)需要是一种颜色(白色,在这种情况下 - 深色背景)Spinner需要是不同的颜色(黑色,因为白色太难阅读)我使用了一个主题,在清单中的应用程序级别应用,以执行上面的第一项.
<resources>
<style name="GlobalTheme" parent="@android:style/Theme.Black.NoTitleBar.Fullscreen">
<item name="android:textColor">#FFFFFF</item>
</style>
</resources>
Run Code Online (Sandbox Code Playgroud)
工作得很好.除此之外,它还使旋转器上的文本变白,难以阅读.
好的,所以我希望微调颜色仍然是黑色,但其他一切都是白色的.
我发现这个问题显示了如何设置Spinner文本颜色,它可以工作,但只有当我还没有设置全局textColor时.
所以以下方法不起作用:
<resources>
<style name="GlobalTheme" parent="@android:style/Theme.Black.NoTitleBar.Fullscreen">
<item name="android:textColor">#FFFFFF</item>
<item name="android:spinnerItemStyle">@style/GlobalThemeSpinnerItem</item>
</style>
<style name="GlobalThemeSpinnerItem" parent="android:Widget.TextView.SpinnerItem">
<item name="android:textAppearance">@style/GlobalThemeTextAppearanceSpinnerItem</item>
</style>
<style name="GlobalThemeTextAppearanceSpinnerItem" parent="android:TextAppearance.Widget.TextView.SpinnerItem">
<item name="android:textColor">#000000</item>
</style>
</resources>
Run Code Online (Sandbox Code Playgroud)
我想我希望这会像CSS一样,事情会向下级联(即"所有文本都应该是白色的,除了在旋转器中").如果我删除android:textColor主题中的行,微调颜色技巧工作正常.
它看起来像SpinnerItem源于此,TextView所以我试图想出textViewStyle类似于spinnerItemStyle分离的类型分离,但没有任何运气.
与大多数提出此问题的人不同,我希望尽可能地将其保留在XML中.有谁知道我做错了什么?
尝试这个:
<?xml version="1.0" encoding="utf-8"?>
<resources xmlns:android="http://schemas.android.com/apk/res/android">
<style name="GlobalTheme" parent="@android:style/Theme.Black.NoTitleBar.Fullscreen">
<item name="android:spinnerItemStyle">@style/GlobalThemeSpinnerItem</item>
<item name="android:textViewStyle">@style/GlobalThemeTextViewItem</item>
</style>
<style name="GlobalThemeTextViewItem" parent="android:Widget.TextView">
<item name="android:textAppearance">@style/GlobalThemeTextAppearanceTextViewItem</item>
</style>
<style name="GlobalThemeTextAppearanceTextViewItem" parent="android:TextAppearance.Widget.TextView">
<item name="android:textColor">#FFFFFF</item>
</style>
<style name="GlobalThemeSpinnerItem" parent="android:Widget.TextView.SpinnerItem">
<item name="android:textAppearance">@style/GlobalThemeTextAppearanceSpinnerItem</item>
</style>
<style name="GlobalThemeTextAppearanceSpinnerItem" parent="android:TextAppearance.Widget.TextView.SpinnerItem">
<item name="android:textColor">#000000</item>
</style>
Run Code Online (Sandbox Code Playgroud)
这将使 TextView 中的文本变为白色,而 Spinner 中的文本变为黑色。
| 归档时间: |
|
| 查看次数: |
1561 次 |
| 最近记录: |