首页
学习
活动
专区
圈层
工具
发布

布局
EN

Stack Overflow用户
提问于 2013-07-28 18:58:48
回答 1查看 368关注 0票数 0

我试图通过将广告作为xml布局的一部分来包含这些广告,我在这个快速入门指南上注意到:https://developer.amazon.com/sdk/mobileads/quick-start.html --它说您应该将名称空间命名为"xmlns:Amazon="http://schemas.android.com/apk/res/""。然而,当我尝试,这个智能说,名称空间从来没有使用,广告从来没有出现在布局中。我查看了sdk中提供的示例,对于它们的命名空间,它们没有使用它们的包名,而是使用了"xmlns:Amazon="http://schemas.android.com/apk/lib/com.amazon.device.ads""。所以我想知道我应该使用什么正确的名称空间

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-07-28 19:20:33

我在这个快速启动指南上注意到,它说您应该将名称空间命名为“xmlns:Amazon=”http://schemas.android.com/apk/res/"。 我查看了sdk中提供的示例,对于它们的命名空间,它们没有使用包名,而是使用了“xmlns:Amazon=”http://schemas.android.com/apk/lib/com.amazon.device.ads"

第一种说法是不正确的。在快速启动指南中,它实际上说名称空间应该是:

代码语言:javascript
复制
xmlns:Amazon="http://schemas.android.com/apk/res/<type your package name>"

注意最后一部分。这很重要,因为这正是你提出这个问题的不同之处。

与Android上的任何自定义视图一样,如果您想使用一个或多个未被Android命名空间覆盖的属性,则必须首先声明它们的位置。通常,这意味着您复制上面的行并附加项目的包名。Amazon前缀可以是您喜欢的任何东西,但是给名称空间提供一个与其定义相关的名称是有意义的。

在本例中,声明Amazon命名空间可以在布局文件中使用Amazon:adSize属性。如果没有该声明,IDE将不知道在哪里查找adSize属性。

尽管如此,如果您不使用任何自定义属性,那么就没有必要声明名称空间,因为您不会使用它。这基本上就是IntelliJ告诉你的。换句话说:如果在布局中没有使用Amazon:adSize,则可以安全地删除亚马逊命名空间声明。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17911731

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档