将自定义主题添加到应用程序时出错

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 文件,然后将其设置在那里。您列出的颜色与字符串相同,&lt;color name="custom_theme_background"&gt;#ff0000&lt;/color&gt; 在 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

以上是关于将自定义主题添加到应用程序时出错的主要内容,如果未能解决你的问题,请参考以下文章

将自定义 css 添加到 wordpress 中的页面模板

如何将自定义 AxisItem 添加到现有的 PlotWidget?

将自定义数据添加到wordpress客户订单

无法将自定义字体添加到应用程序

使用冰山表格式将自定义元数据添加到 DataFrame 模式

将自定义属性添加到 asp.net-mvc 中的页面指令