此文大部分摘自http://hukai.me/android-training-course-in-chinese/basics/firstapp/building-ui.html
android : id
这是定义View的唯一标识符。可以在程序代码中通过该标识符对对象进行引用,例如对这个对象进行读和修改的操作(在下一课里将会用到)。
当想从XML里引用资源对象的时候必须使用@符号。紧随@之后的是资源的类型(这里是id
),然后是资源的名字(这里使用的是edit_message
)。
+号只是当你第一次定义一个资源ID的时候需要。这里是告诉SDK此资源ID需要被创建出来。在应用程序被编译之后,SDK就可以直接使用ID值,edit_message是在项目gen/R.java
文件中创建一个新的标识符,这个标识符就和EditText关联起来了。一旦资源ID被创建了,其他资源如果引用这个ID就不再需要+号了。这里是唯一一个需要+号的属性。
android:layout_width 和android:layout_height
对于宽和高不建议指定具体的大小,使用wrap_content
指定之后,这个视图将只占据内容大小的空间。如果你使用了match_parent
,这时EditText将会布满整个屏幕,因为它将适应父布局的大小。更多信息,请参考布局向导。
android:hint
当文本框为空的时候,会默认显示这个字符串。对于字符串@string/edit_message
的值所引用的资源应该是定义在单独的文件里,而不是直接使用字符串。因为使用的值是存在的资源,所以不需要使用+号。然而,由于你还没有定义字符串的值,所以在添加@string/edit_message
时候会出现编译错误。下边你可以定义字符串资源值来去除这个错误。
Note: 该字符串资源与id使用了相同的名称(edit_message)。然而,对于资源的引用是区分类型的(比如id和字符串),因此,使用相同的名称不会引起冲突。