Andoroid學習筆記05——Activity佈局管理

GeekWay發表於2012-02-12

Andoroid學習筆記05——Activity佈局管理


一、           LinearLayout 線性佈局     

Xml屬性

關係方法

描述

android:orientation

setOrientation(int)

設定佈局的線性方向

horizontal 水平方向

vertical垂直方向

Android學習九:Activity佈局初步(一)鈥斺 <wbr>LinearLayout和TableLayout

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
   android:orientation="vertical"
   android:layout_width="fill_parent"
   android:layout_height="fill_parent"
   ..........
   >
<TextView 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content"   
    ...   />
   ........
 
</LinearLayout>

Ø        android:id 為控制元件指定相應的id

Ø        android:text 指定控制元件當中顯示的文字,需要注意的是,儘量使用strings.xml

Ø        android:gravity 指定控制元件內容的基本位置,比如居中,居右

Ø        android:textSize 指定控制元件當中字型的大小

Ø        android:background 指定該控制元件的背景顏色,RGB命名方法

Ø        androdi:width 指定控制元件的寬度

Ø        adnrodi:height 指定控制元件的高度

Ø        android:padding 指定控制元件的內邊距,這裡距四條邊的距離,也可以明確定義paddingBottom,paddingTop,paddingRight, paddingLeft等。

//使用dip來計量最好,因為它不受手機畫素螢幕大小的限制,更具有適應性

Ø        android:sigleLine 如果設定為true,則將控制元件的內容在同一行中進行顯示。

//如果字元太多就自動用“...”省略號代替。假如這個值為false的話,有可能內容太多把其它的控制元件給擠到看不到了

Ø       android:layout_weight一個數字 設定控制元件佔螢幕的比例

舉例演示:


main.xml:

<?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="fill_parent"
    android:stretchColumns="0">
    <TableRow>
        <TextView
            android:text="@string/row1_column1"
            android:background="#aa0000"
            android:padding="3dip" />
        <TextView
        	android:text="@string/row1_column1"
        	android:padding="3dip"
        	android:gravity="center_horizontal"
            android:background="#00aa00"
        	></TextView>
        <TextView
            android:text="@string/row1_column2"
            android:gravity="right"
            android:background="#0000aa"
            android:padding="3dip" />
    </TableRow>

    <TableRow>
        <TextView
            android:text="@string/row2_column1"
            android:padding="3dip" />
        <TextView
            android:text="@string/row2_column2"
            android:gravity="right"
            android:padding="3dip" />
    </TableRow>
</TableLayout>





二、TableLayout 表格佈局


Xml屬性

關係方法

描述

android:stretchColumns

setStretchAllColumns(boolean)

指定拉伸列,(從0開始計數),當所有列的內容不能填滿整個TableLayout時,會拉伸指定列,使其寬度變寬,來達到填滿整個父控制元件的目的。

<?xml version="1.0" encoding="utf-8"?>
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
   android:stretchColumns="0"
   android:layout_width="fill_parent"
   android:layout_height="fill_parent"
   >
<TableRow>//這個標籤出現代表一行
     <EditText
     ....   />//一個控制元件一列
     .....
</TableRow>
<TableRow>
     <EditText
     ...  
             />     
     ...
</TableRow>
.....
</TableLayout>

舉例演示:

mian.xml
<?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="fill_parent"
    android:stretchColumns="0">
    <TableRow>
        <TextView
            android:text="@string/row1_column1"
            android:background="#aa0000"
            android:padding="3dip" />
        <TextView
        	android:text="@string/row1_column1"
        	android:padding="3dip"
        	android:gravity="center_horizontal"
            android:background="#00aa00"
        	></TextView>
        <TextView
            android:text="@string/row1_column2"
            android:gravity="right"
            android:background="#0000aa"
            android:padding="3dip" />
    </TableRow>

    <TableRow>
        <TextView
            android:text="@string/row2_column1"
            android:padding="3dip" />
        <TextView
            android:text="@string/row2_column2"
            android:gravity="right"
            android:padding="3dip" />
    </TableRow>
</TableLayout>





相關文章