将自定义主题添加到应用程序时出错
Posted
技术标签:
【中文标题】将自定义主题添加到应用程序时出错【英文标题】:Error adding custom theme to app 【发布时间】:2013-03-09 14:42:23 【问题描述】:我将以下主题添加到我的应用程序中,背景颜色为白色。但我收到以下错误,我不确定我哪里出错了。
Error: Color types not allowed (at 'android:windowBackground' with value '#FF0000')
.
<style name="MyTheme" parent="@android:style/Theme.Light">
<item name="android:windowBackground">#FF0000</item>
</style>
并在mymanifest中引用了主题:
<activity
android:name=".MyActivity"
android:theme="@style/MyTheme" />
有什么想法或建议吗?谢谢
【问题讨论】:
***.com/questions/4342405/… 【参考方案1】:根据Android Styles and Themes页面,您必须使用单独的颜色资源来设置颜色。
(请注意,颜色需要在此处作为单独的资源提供 因为 android:windowBackground 属性只支持 引用另一个资源;不像android:colorBackground,它可以 不被赋予颜色文字。)
例如
<item name="android:windowBackground">@color/custom_theme_color</item>
【讨论】:
谢谢,我应该在哪里定义自定义颜色以在 windowBackground 中引用? 在 'values' 下创建一个 color.xml 文件,然后将其设置在那里。您列出的颜色与字符串相同,<color name="custom_theme_background">#ff0000</color>
在 windowBackground 代码中声明自定义颜色时出现新错误。 '错误:错误:找不到与给定名称匹配的资源(在'android:windowBackground',值为'@color/custom_theme_color')。'
啊,这很可能是因为名称不匹配。将 windowBackground 更改为 custom_theme_background 或将您的颜色声明更改为 custom_theme_color【参考方案2】:
试试:
<style name="MyTheme" parent="@android:style/Theme.Light">
<item name="android:background">#FF0000</item>
</style>
【讨论】:
感谢您的帮助,但是更改颜色代码后背景颜色仍然相同。是否可以覆盖原始主题? 您已经使用父语句覆盖 Theme.Light以上是关于将自定义主题添加到应用程序时出错的主要内容,如果未能解决你的问题,请参考以下文章
如何将自定义 AxisItem 添加到现有的 PlotWidget?