標籤:android應用 android開發 android 經驗分享
3.2.5表單布局(TableLayout)
TableLayout,即表單布局,以行和列的形式管理控制項。每行為一個TableRow對象,也可以為一個View對象。當為View對象時,該對象將橫跨該行所有列。
同樣的,我們也以一個簡單的例子來加以說明,看完例子之後相信大家對TableLayout的應用會有一個比較全面的瞭解。
|
<?xml version="1.0" encoding="utf-8"?>
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:stretchColumns="0,1,2"
android:shrinkColumns="1,2" >
<TextView
android:text="TableLayout"
android:gravity="center"/>
<TableRow>
<TextView
android:layout_column="1"
android:text="姓名"
android:gravity="center"/>
<TextView
android:text="性別"
android:gravity="center"/>
</TableRow>
<TableRow>
<TextView
android:text=" 1 "
android:gravity="center"/>
<TextView
android:text="zhangsan"
android:gravity="left"/>
<TextView
android:text="男"
android:gravity="center"/>
</TableRow>
<TableRow>
<TextView
android:text=" 2 "
android:gravity="center"/>
<TextView
android:text="lilei"
android:gravity="left"/>
<TextView
android:text="男"
android:gravity="center"/>
</TableRow>
<TableRow>
<TextView
android:text="3"
android:gravity="center"/>
<TextView
android:text="hanmeimei"
android:gravity="left"/>
<TextView
android:text="女"
android:gravity="center"/>
</TableRow>
</TableLayout> |
3-8所示。
圖3-8TableLayout表單布局
在TableLayout布局中,有幾個屬性是比較常用的,大家應該熟練掌握(下標都是從0開始):
1)android:stretchColumns="0,1,2",設定1、2、3列為可伸展列,設定完後這些列會將剩餘的空白填滿;
2)android:shrinkColumns="1,2",設定2、3列為可收縮列,設定完後這些列會自動延伸填充可用部分;
3)android:collapse="0",設定第1列隱藏。
3.2.6絕對布局(AbsoluteLayout)
AbsoluteLayout,即絕對布局,又稱座標布局,在布局上靈活性較大,也較複雜。另外由於各種手機螢幕尺寸的差異,給我們的開發也帶來較多困難。
同樣的,我們也舉一個簡單的例子來協助大家掌握。
|
<?xml version="1.0" encoding="utf-8"?>
<AbsoluteLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/ball"
android:layout_x="45px"
android:layout_y="60px"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="absolutelayout"
android:textColor="@android:color/black"
android:layout_x="100px"
android:layout_y="175px"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="absolutelayout"
android:textColor="@android:color/black"
android:layout_x="120px"
android:layout_y="195px"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="absolutelayout"
android:textColor="@android:color/black"
android:layout_x="140px"
android:layout_y="215px"/>
</AbsoluteLayout> |
3-9所示。
圖3-9AbsoluteLayout絕對布局
使用這種布局時,我們要計算好每一個視圖的大小和位置,然後再通過android:layout_x和android:layout_y屬性來將它們的位置定好。
|
經驗分享:
由於現在的Android裝置的螢幕解析度和尺寸有著很大的差異,所以一般情況下,開發過程中已經不會用到絕對布局了,完全可以使用其它幾種布局方式來實現。
如果的確需要使用絕對布局時,有以下幾點需要我們注意:
1)座標原點為螢幕左上方;
2)添加視圖時,要精確的計算每個視圖的像素大小,最好先在紙上畫草圖,並將所有元素的像素定位計算好。 |
第三章 介面UI的基石—UI布局(4)