【问题标题】:styles toast background - no resource found that matches the given name样式 toast 背景 - 找不到与给定名称匹配的资源
【发布时间】:2013-10-06 23:52:13
【问题描述】:

理论上很简单。我想更改 toast 的背景颜色(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>

等等

虽然对于操作栏它可以正常工作,但对于 toastFrameBackground eclipse 总是显示:

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

我什至将它设置为原始版本(只是从原始主题定义中复制的):

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

希望它应该工作。没办法。

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

有什么想法吗?帮忙?

我已经花了 3-4 个小时,什么也没...可能我会保留原来的 toast 背景颜色,因为它似乎不值得战斗,但我更愿意更深入地了解机制。为什么我无权访问该项目,看来我应该有权访问。

【问题讨论】:

    标签: java android eclipse


    【解决方案1】:

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

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

    【讨论】:

    • 太棒了。这是我需要的。虽然我不明白为什么只有一些元素在样式的情况下是公开的。
    • 顺便说一句,如何为 toast 免费创建正确的可绘制对象。当然我只能设置颜色,但是吐司没有这种 3d 外观。
    • @user2707175:对不起,我自己没有尝试过这样的事情。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-26
    • 2017-08-26
    • 1970-01-01
    相关资源
    最近更新 更多