Android中的xmlns:解析

来源:互联网 发布:支付宝如何解绑淘宝号 编辑:程序博客网 时间:2024/06/05 19:20

在Android中,目前我们碰到的xmlns一共有三种:

xmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"xmlns:app="http://schemas.android.com/apk/res-auto"




android

命名空间android用于 Android 系统定义的一些属性。

这个主要作用是在运行的时候那些控件的属性都是通过它来识别的,如果上面你写错了,不会有任何问题,但是在运行的时候就会有问题,提示你没有指定宽度等什么。这个是不用联网的。


tools

根据官方定义,tools命名空间用于在 XML 文档记录一些,当应用打包的时候,会把这部分信息给过滤掉,不会增加应用的 size,说直白点,这些属性是为IDE提供相关信息。


app(自定义名称)

命名空间app用于我们应用自定义的一些属性。


Android自定义控件的属性,在xml中使用自己自定义的attr的时候,其中有一步就是要自定义一个xml的命名空间后然后再给自定义属性赋值


现在发现不知道什么时候开始Android把这个改了,现在发现可以统一用:
xmlns:app="http://schemas.android.com/apk/res-auto"


而不是原来的:
xmlns:app="http://schemas.android.com/apk/App的Package名"
还有人提到在作为lib被使用的时候,也应该用res-auto



如果你http://schemas.android.com/apk/后面写的是res/包名,那就是相关包名下的自定义属性,而res-auto就是所有的自定义包名。



使用时可以为:

android:..

tools:text   tools:visibility    tools.src    tools.background

app:...

原创粉丝点击