1.Android常用佈局文件中元素的屬性
每個View和ViewGroup對象支持他們自己的各種XML屬性。一些屬性特定於一個View對象(例如,TextView支持textSize屬性),但是這些屬性也被繼承自這個類的任何View對象繼承。一些屬性對所有View對象可用,因爲他們從根View類繼承(諸如id屬性)。並且,其他屬性被考慮爲“佈局參數”,這些屬性描述特定View對象的特定佈局方向,由對象的父ViewGroup對象定義。
1.1。ID屬性
每個View對象都有一個關聯的ID,來唯一標識它。當應用程序被編譯時,這個ID作爲一個整數引用。但是ID通常是在佈局XML文件中作爲字符串分配的,作爲元素的id屬性。這個XML屬性對所有的View對象可用且會經常用到。XML中的ID語法如下:
android:id="@+id/my_button"
字符串前的@符號表示XML解析器應該解析和擴展剩下的ID字符串,並把它作爲ID資源。+符號表示這是一個新的資源名字,它必須被創建且加入到我們的資源(R.java文件,R是Resource)。Android框架提供一些其他的ID資源。當引用一個 Android資源ID時,你不需要+符號,但是你必須添加android包名字空間,如下:
android:id="@android:id/empty"
爲了創建視圖和從應用程序引用他們,通常的模式是:
- 首先在佈局文件中定義一個視圖/構件對象並分配一個唯一的ID:
<Button android:id="@+id/my_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/my_button_text"/> - 然後創建一個視圖對象實例並從佈局中獲取它(典型的是在onCreate()方法中):
Button myButton = (Button) findViewById(R.id.my_button);
1.2、佈局參數
名爲layout_something的XML佈局屬性,爲視圖定義適合於它所駐留的ViewGroup的佈局參數。每個ViewGroup類實現一個擴展自ViewGroup.LayoutParams的嵌套類。這個子類包含爲每個子視圖定義大小和位置的屬性類型,以適合於該視圖組。如下圖所示,父視圖組爲每個子視圖定義佈局參數(包括子視圖組)。
注意每個LayoutParams子類有它自己的設置值的語法。每個子元素必須定義適合於它父視圖的LayoutParams,雖然它可能也爲自己的子視圖定義不同LayoutParams。
所有的視圖組包括寬帶和高度(layout_width和layout_height),並且每個視圖要求要定義它們。許多LayoutParams也包括可選的邊距和邊界。你可以指定寬度和高度的具體值,雖然你可能並不想這樣做。更多地你將告訴視圖它的大小依據它內容要求或跟父視圖組所允許的一樣大(分別用wrap_content和fill_parent值)。