从理论上讲很简单。我想更改烤面包的背景颜色(android:minSdkVersion =“ 14” android:targetSdkVersion =“ 18”)。我做了什么?我找到了Theme.Holo.Light定义,用作自己的样式的父项:

Theme.Holo.Light definition

接下来,我发现:

<item name="android:toastFrameBackground">


Nest我想修改它:

<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>


等等

对于Action Bar而言,它可以正常工作,而对于toastFrameBackground Eclipse,则始终显示:

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

我什至将其设置为原始版本(仅从原始主题定义中复制):

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


希望它能工作。没门。

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

任何想法?救命?

我花了3-4个小时,什么也没花……可能我会保留原始的吐司背景色,因为似乎不值得打架,但我希望更深入地了解该机制。为什么我无权访问该项目,看来我应该有权访问。

最佳答案

这是因为未导出toastFrameBackground且未将其创建为public.xml,这意味着此属性不适用于非平台/第三方应用程序。

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

07-26 09:42