horizontal的xml範例程式碼:
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="1" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="2" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="3" />
</LinearLayout>
android:layout_width和android:layout_height的功能是指設定Android元件的寬度與高度,他的屬性有3個,分別是fill_parent、match_parent、wrap_content,fill_parent和match_parent兩個值都是將大小擴展到最大的寬度與高度,這兩個值其實沒有什麼不同,只是在官方文件中指出match_parent將會取代
vertical的xml範例程式碼:
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="1" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="2" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="3" />
</LinearLayout>
除了使用android:layout_width和android:layout_height設定寬度與高度以外,還可以使用權重值的方式來設定,android:layout_weight這個功能是用來設定權重值,權重值越高元件所佔的範圍會越大,參考下面的範例程式碼:
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<EditText
android:layout_weight="2"
android:layout_width="0dp"
android:layout_height="wrap_content" />
<Button
android:layout_weight="1"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:text="Submit" />
</LinearLayout>
根據Android官方文件的教學,如果有設定權重值的話,需要將寬或高設為0dp,而每個元件預設的權重值是0。
上面的方法都只是單純的使用水平或垂直的方式加入元件,用上面的方法沒有辦法排列成下面這張圖的Layout。
要形成這樣的Layout請參考下面的xml檔:
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
<EditText
android:layout_weight="2"
android:layout_width="0dp"
android:layout_height="wrap_content" />
<Button
android:layout_weight="1"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:text="Submit" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
<EditText
android:layout_weight="2"
android:layout_width="0dp"
android:layout_height="wrap_content" />
<Button
android:layout_weight="1"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:text="Submit" />
</LinearLayout>
</LinearLayout>
沒有留言:
張貼留言