cod*_*123 159 xml android xml-namespaces android-layout android-tools-namespace
这是app我从res/menu/main.xml文件中看到的命名空间的示例
<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>
Run Code Online (Sandbox Code Playgroud)
app命名空间的用途是什么?它是"标准"Android XML命名空间吗?是否有相同的值选项可用于放置在两个不同命名空间中的相同属性(例如app:showAsAction和android:showAsAction).
来自文档:
android:showAsAction=["ifRoom" | "never" | "withText" | "always" | "collapseActionView"]
即,如果属性是相反的,上面示例中的行是否意味着其他内容:
android:showAsAction="never"
Run Code Online (Sandbox Code Playgroud)
它几乎看起来可能是某种"子类化"机制,但我似乎无法app从Google/Android源代码中找到关于命名空间的任何真实文档.
ian*_*ake 208
该app命名空间是不特定的库,但它是用于在你的应用程序中定义的所有属性,无论是你的代码或库导入,有效地使属性自定义一个全局命名空间-也就是说,属性不是由Android系统定义.
在这种情况下,appcompat-v7库使用镜像android:命名空间的自定义属性来支持以前版本的android(例如:android:showAsAction仅在API11中添加,但是app:showAsAction(作为应用程序的一部分提供)适用于您的应用程序所做的所有API级别) - 显然使用android:showAsAction它不适用于未定义该属性的API级别.
| 归档时间: |
|
| 查看次数: |
74653 次 |
| 最近记录: |