分类: 嵌入式
2013-01-11 16:35:18
使用xml一段时间了,感觉对其应该熟悉了,但是现在在编程中遇到一个问题,查看布局xml的时候,发现其中xmlns还不明白是什么。次奥,我竟然一直对这个问题熟视无睹!网上搜了资料,整理如下:
xmlns是XML Namespaces的缩写,中文名称是XML命名空间。
使用的规则为,首先定义命名空间xmlns:namespace-prefix="namespaceURI"。Android中xml中的使用是:xmlns:前缀=应用程序包路径;然后使用的时候按格式:namespace-prefix(前缀):属性
如果使用xmlns,则xmlns的定义必须放在最外层开始的的标记中
当命名空间被定义之后,所有带有相同前缀的子元素都会与同一个命名空间相关联。避免XML解析器对xml解析时的发送名字冲突,这就是使用xmlns的必要性。当自定义的View有自己的属性的时候,就用到xmlns来定义一个命名空间。
一个例子
点击(此处)折叠或打开
<?xml version="1.0" encoding="utf-8"?>
上面就重新定义了my这个命名空间。
皇问天2015-04-25 11:47:21
皇问天:问你一个问题:<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:zidingyishuxing="http://schemas.android.com/apk/res/com.example.zidingyishuxing"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity"&nb
我已经把android换成自己的包名了,也自己创建了一个XML重新写属性的内容,那个test_msg就是我自己定义的属性。
回复 | 举报皇问天2015-04-25 11:45:37
问你一个问题:<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:zidingyishuxing="http://schemas.android.com/apk/res/com.example.zidingyishuxing"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity"&nb