首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >什么是'app‘Android XML命名空间?

什么是'app‘Android XML命名空间?
EN

Stack Overflow用户
提问于 2014-11-02 03:23:29
回答 1查看 85.7K关注 0票数 171

下面是我在res/menu/main.xml文件中看到的app名称空间的示例

代码语言:javascript
复制
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
tools:context=".MainActivity" >
<item android:id="@+id/action_settings"
    android:title="@string/action_settings"
    android:orderInCategory="100"
    app:showAsAction="never" />
</menu>

app名称空间的作用是什么?它是一个“标准的”Android XML名称空间吗?对于放置在两个不同名称空间(例如app:showAsActionandroid:showAsAction)中的同一属性,是否有相同的值选项可用。

来自docsandroid:showAsAction=["ifRoom" | "never" | "withText" | "always" | "collapseActionView"]

也就是说,如果属性是:

代码语言:javascript
复制
android:showAsAction="never"

它看起来可能是某种“子类化”机制,但我似乎找不到任何来自谷歌/安卓来源的关于app名称空间的真正文档。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-11-02 04:13:07

app命名空间并不特定于某个库,但它可用于应用程序中定义的所有属性,无论是您的代码还是您导入的库,有效地为自定义属性创建了一个全局命名空间-即,不是由安卓系统定义的属性。

在这种情况下,appcompat-v7库使用映射android:命名空间的自定义属性来支持以前版本的安卓(例如:android:showAsAction只在API11中添加,但app:showAsAction (作为应用程序的一部分提供)可以在应用程序所支持的所有应用程序接口级别上工作)-显然,在未定义该属性的应用程序接口级别上使用android:showAsAction将不起作用。

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

https://stackoverflow.com/questions/26692233

复制
相关文章

相似问题

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