2

理论上很简单的事情。我想更改 toast 的背景颜色(android:minSdkVersion="14" android:targetSdkVersion="18")。我做了什么?我找到了 Theme.Holo.Light 定义,我将其用作自己风格的父级:

Theme.Holo.Light 定义

接下来我发现:

<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 个小时,没有任何东西......可能我会保留原来的 toast 背景颜色,因为它似乎不值得战斗,但我更愿意更深入地了解机制。为什么我无权访问该项目,看来我应该有权访问。

4

1 回答 1

2

那是因为toastFrameBackgroundis notexported 并且没有 make to public.xml,这意味着该属性不适用于非平台/第三方应用程序。

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

于 2013-10-07T05:05:26.950 回答