R.styleable解决不了,为什么?

问题描述 投票:14回答:4

我所在目录下的一个值resource.xml的文件/,这是

/values/resources.XML

<?xml version="1.0" encoding="utf-8"?> 
<resources> 
    <declare-styleable name="TheMissingTabWidget"> 
        <attr name="android:divider" /> 
    </declare-styleable> 
</resources>

在我的Java代码,当我试图通过R.styleable.TheMissingTabWidget访问该资源时,Eclipse抱怨说,设置样式不能得到解决,或者不是一个领域。为什么?为什么我不能访问这个资源? (我采用了Android 2.1更新的)。

android android-layout android-emulator android-widget android-manifest
4个回答
17
投票

PLZ作出这样values/attrs.xml资源

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <declare-styleable name="**com.admob.android.ads.AdView**"><--- where u want to use
       <attr name="backgroundColor" format="color" />
       <attr name="TextColor" format="color" />
       <attr name="keywords" format="string" />
       <attr name="refreshInterval" format="integer" />
    </declare-styleable>
</resources>

15
投票

按照SDK Release Notes

该android.R.styleable类及其字段从公众API中删除,以更好地确保应用程序向前兼容。在android.R.styleable声明的常数和受到不同版本进行任意改变特定于平台的,所以不适合由应用程序使用。您仍然可以从您的资源或代码访问平台的设置样式属性。要做到这一点,在你的项目的res /价值/ R.attrs文件使用一个声明自定义资源元素,那么内声明的属性。举例来说,看到 “SDK” /samples/ApiDemos/res/values/attrs.xml。有关自定义资源的更多信息,请参阅Custom Layout Resources。需要注意的是android.R.styleable文档在SDK还提供了,但只是作为各种要素平台的设置样式属性的参考。

看看到ApiDemos代码和文件RES /价值/ attrs.xml


0
投票

你需要做的就是声明你设置样式在attrs.xml,不resources.xml中。然后,你就可以参考它从你这样的代码:

R.styleable.TheMissingTabWidget

0
投票

您可以访问你的包级别风格化这样的

<yourpackagename>.R.styleable.name
© www.soinside.com 2019 - 2024. All rights reserved.