2013-10-06 33 views
1

理论上很简单的事情。我想改变吐司的背景颜色(android:minSdkVersion =“14”android:targetSdkVersion =“18”)。我做了什么?我发现,我父用我自己的风格Theme.Holo.Light定义:风格吐司背景 - 找不到与给定名称匹配的资源

Theme.Holo.Light definition

接下来我发现:

<item name="android:toastFrameBackground"> 

鸟巢,我想修改:

<resources xmlns:android="http://schemas.android.com/apk/res/android"> 
<style name="MyTheme" parent="android:Theme.Holo.Light"> 
<item name="android:actionBarStyle">@style/MyActionBarStyle</item> 
<item name="android:toastFrameBackground">@android:color/holo_blue_light</item> 

虽然行动吧它的工作原理没有问题,FO r toastFrameBackground eclipse始终显示:

错误:错误:找不到与给定名称匹配的资源:attr'android:toastFrameBackground'。 styles.xml的Android AAPT问题

我甚至将其设置为原始版本(从原来的主题定义只是复制):

<item name="toastFrameBackground">@android:drawable/toast_frame</item> 

希望能它应该工作。没门。

当我点击ctr + space Eclipse时,似乎没有看到toastFrameBackground。为什么?我从原始主题定义中检查了一些其他项目,其中一些似乎是可见的,而另一些则没有。

有什么想法?帮帮我?

我花了3-4小时,没有什么...可能我会保留原来的吐司背景颜色,因为它似乎不值得去争取,但我宁愿更深入地理解这种机制。为什么我没有访问该项目似乎我应该有一个访问。

回答

2

这是因为toastFrameBackground没有导出,也没有写入public.xml,这意味着此属性不适用于非平台/第三方应用程序。

但是,您可能想要查看https://stackoverflow.com/a/9903465/1893766以了解您要实现的目标。

+0

太好了。这是我需要的。尽管我不理解为什么只有某些元素在风格上是公开的哲学。 – user2707175

+0

顺便说一句,如何创建敬酒为空的正确drawable。当然,我可以只设置颜色,但是烤面包没有这种3D外观。 – user2707175

+0

@ user2707175:对不起,我没有尝试过这样的事情。 – ozbek

相关问题