下面是我在res/menu/main.xml
文件中看到的app
名称空间的示例
<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:showAsAction
和android:showAsAction
)中的同一属性,是否有相同的值选项可用。
来自docs:android:showAsAction=["ifRoom" | "never" | "withText" | "always" | "collapseActionView"]
也就是说,如果属性是:
android:showAsAction="never"
它看起来可能是某种“子类化”机制,但我似乎找不到任何来自谷歌/安卓来源的关于app
名称空间的真正文档。
发布于 2014-11-02 04:13:07
app
命名空间并不特定于某个库,但它可用于应用程序中定义的所有属性,无论是您的代码还是您导入的库,有效地为自定义属性创建了一个全局命名空间-即,不是由安卓系统定义的属性。
在这种情况下,appcompat-v7
库使用映射android:
命名空间的自定义属性来支持以前版本的安卓(例如:android:showAsAction
只在API11中添加,但app:showAsAction
(作为应用程序的一部分提供)可以在应用程序所支持的所有应用程序接口级别上工作)-显然,在未定义该属性的应用程序接口级别上使用android:showAsAction
将不起作用。
https://stackoverflow.com/questions/26692233
复制相似问题