ITEEDU

LinearLayout

LinearLayout以你为它设置的垂直或水平的属性值,来排列所有的子元素。分为垂直列表和水平列表,一个垂直列表的每一行只会有一个元素,而不管他们有多宽,而一个水平列表将会只有一个行高(高度为最高子元素的高度加上边框高度)。
LinearLayout保持子元素之间的间隔以及互相对齐(相对一个元素的右对齐、中间对齐或者左对齐)。
LinearLayout 还支持为单独的子元素指定weight。好处就是允许子元素可以填充屏幕上的剩余空间。这也避免了在一个大屏幕中,一串小对象挤成一堆的情况,而是允许他们放大填充空白。子元素指定一个weight值,剩余的空间就会按这些子元素指定的weight比例分配给这些子元素。默认的weight值为0。例如,如果有三个文本框,其中两个指定了weight值为1,那么,这两个文本框将等比例地放大,并填满剩余的空间,而第三个文本框不会放大。
在一个水平排列的LinearLayout中,各项按他们的文本基线进行排列(第一列第一行的元素,即最上或最左,被设定为参考基线)。因此,人们在一个窗体中检索元素时,就不需要七上八下地读元素的文本了。我们可以在layout的XML中设置 android:baselineAligned="false",来关闭这个设置。
LinearLayout是Android sdk创建project时的默认Layout,支持两种方式,默认是垂直vertical的线性layout,另一个是水平horizontal方向的线性排列。
垂直列表(设置android:layout_width="fill_parent"

<LinearLayout android:id="@+id/LinearLayout01"
	android:layout_width="fill_parent" android:layout_height="fill_parent"
	xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical">
	<Button android:text="@+id/Button01" android:id="@+id/Button01"
	android:layout_height="wrap_content" android:layout_width="fill_parent"></Button>
	<EditText android:text="@+id/EditText01" android:id="@+id/EditText01"
	android:layout_height="wrap_content" android:layout_width="fill_parent"></EditText>
</LinearLayout>

水平列表(设置android:layout_height="fill_parent"

<LinearLayout android:id="@+id/LinearLayout01"
	android:layout_width="fill_parent" android:layout_height="fill_parent"
	xmlns:android="http://schemas.android.com/apk/res/android"
	android:orientation="horizontal">
	<Button android:text="@+id/Button01" android:id="@+id/Button01"
	android:layout_width="wrap_content" android:layout_height="fill_parent"></Button>
	<EditText android:text="@+id/EditText01" android:id="@+id/EditText01"
	android:layout_width="wrap_content" android:layout_height="fill_parent"></EditText>
</LinearLayout>