此文大部分摘自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和字符串),因此,使用相同的名稱不會引起沖突。