Android開發歷程_4(Activity線性布局和表格布局)


  在activity的布局中,線性布局和表格布局是最簡單的,這次分別從線性布局,表格布局以及線性布局和表格混合布局做了實驗,實驗中只需要編寫相應的xml的代碼,java代碼不需要更改,因為我們這里只是練習android的界面設計。參考的資料為mars老師的教程。

 

  線性布局:

  線性布局就是將各種控件按照行或者列依次進行排列。

  其中本實驗用到的各控件的屬性解釋如下:

    android:layout_weight屬性是指不同的控件在activity中占有體積大小的比例。

    android:paddingLeft指內邊距左的距離,即控件內文字離控件左邊邊界的距離。其它的類推。

    android:gravity指控件內文字相對於控件本身的方向屬性,長度為dip,與像素獨立的長度。

    android:background為控件內文字顏色的背景色,顏色采用rgb時前面需用”#”號.

    android:textSize為文本的大小,單位為pt,即鎊。

    android:id為該控件的id,即在此處可以設置控件的id。

    android:layout_width為控件本身的寬度屬性,其它的類似。

  實驗結果顯示2行字,分別設置了不同的屬性。

  效果如下:

  

xml代碼如下:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >
    <!-- 
        線性布局中
        android:layout_weight屬性是指不同的控件在activity中占有體積大小的比例。
        android:paddingLeft指內邊距左的距離,即控件內文字離控件左邊邊界的距離。其它的類推。
        android:gravity指控件內文字相對於控件本身的方向屬性,長度為dip,與像素獨立的長度。
        android:background為控件內文字顏色的背景色,顏色采用rgb時前面需用”#”號.
        android:textSize為文本的大小,單位為pt,即鎊。
        android:id為該控件的id,即在此處可以設置控件的id。
        android:layout_width為控件本身的寬度屬性,其它的類似。    
    -->
    
    <TextView
        android:id="@+id/London"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="倫敦奧運"
        android:textSize="20pt"
        android:background="#00ff00"
        android:gravity="center_horizontal"
        android:paddingLeft="10dip"
        android:paddingRight="10dip"
        android:paddingTop="10dip"
        android:paddingBottom="10dip"
        android:layout_weight="1"        
         />
    <TextView
        android:id="@+id/China"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="中國加油!!!"
        android:textSize="35pt"
        android:background="#ff0000"
        android:layout_weight="3"
         />

</LinearLayout>

 

  表格布局:

  表格布局有點類似表單的意思,可以在activity中建立多行,每一行又可以設置為多列,所以看起來橫豎條理比較清晰,因此叫做表格布局。

  表格布局各控件屬性與線性布局類似,本實驗用到的屬性解釋如下:

    用TableRow來增加一行,然后該行內各列依次並排。

       android:padding指的是內邊距的4個方向都采用同樣的間距。

       android:stretchColumns屬性表示當該行屬性設置為填充屏幕時,指定將哪一列拉伸。

  實驗結果為顯示2行,每一行又有4列。

  效果如下:

  

xml代碼如下:

<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent" 
    android:stretchColumns="1"
    >
    <TableRow> 
        <TextView
        android:text="國家"
        android:background="#848484"
        android:padding="2dip"
         />
        <TextView 
            android:text="金牌"
            android:background="#ff0000"
            android:padding="2dip"
        />
        <TextView 
            android:text="銀牌"
            android:background="#00ff00"
            android:padding="2dip"
            />
        <TextView 
            android:text="銅牌"
            android:background="#0000ff"
            android:padding="2dip"
            />
        </TableRow>
    <TableRow >
         <TextView
        android:text="中國"
        android:background="#848484"
        android:padding="2dip"
         />
        <TextView 
            android:text="*"
            android:background="#ff0000"
            android:padding="2dip"
        />
        <TextView 
            android:text="**"
            android:background="#00ff00"
            android:padding="2dip"
            />
        <TextView 
            android:text="***"
            android:background="#0000ff"
            android:padding="2dip"
            />
    </TableRow>
     <TableRow >
         <TextView
        android:text="美國"
        android:background="#848484"
        android:padding="2dip"
         />
        <TextView 
            android:text="*"
            android:background="#ff0000"
            android:padding="2dip"
        />
        <TextView 
            android:text="**"
            android:background="#00ff00"
            android:padding="2dip"
            />
        <TextView 
            android:text="***"
            android:background="#0000ff"
            android:padding="2dip"
            />
    </TableRow>

</TableLayout>

 

 

  線性布局和表格布局混合:

  混合布局原理類似,只是大的layout中嵌入小layout,且小layout中又可以嵌入不同的layout。

  這次實驗將上面的2個實驗混合起來顯示的,即總的布局為垂直方向上的線性布局,上面那個布局內部又為垂直方向的布局,下面那個布局為也是一個線性布局,不過里面嵌入了一個表格布局,所以總共有4個布局。

  效果如下

  

xml代碼如下:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent" 
    android:orientation="vertical">

    <LinearLayout
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical"
    android:layout_weight="1" >    
    <TextView
        android:id="@+id/London"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="倫敦奧運"
        android:textSize="5pt"
        android:background="#00ff00"
        android:gravity="center_horizontal"
        android:padding="10pt"
        android:layout_weight="1"        
         />
    <TextView
        android:id="@+id/China"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="中國加油!!!"
        android:textSize="8pt"
        android:background="#ff00ff"
        android:layout_weight="3"
         />
    </LinearLayout>
    
    <LinearLayout 
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_weight="3">
        <TableLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent" 
            android:stretchColumns="1"
            >
            <TableRow> 
                <TextView
                android:text="國家"
                android:background="#848484"
                android:padding="2dip"
                 />
                <TextView 
                    android:text="金牌"
                    android:background="#ff0000"
                    android:padding="2dip"
                />
                <TextView 
                    android:text="銀牌"
                    android:background="#00ff00"
                    android:padding="2dip"
                    />
                <TextView 
                    android:text="銅牌"
                    android:background="#0000ff"
                    android:padding="2dip"
                    />
                </TableRow>
            <TableRow >
                 <TextView
                android:text="中國"
                android:background="#848484"
                android:padding="2dip"
                 />
                <TextView 
                    android:text="*"
                    android:background="#ff0000"
                    android:padding="2dip"
                />
                <TextView 
                    android:text="**"
                    android:background="#00ff00"
                    android:padding="2dip"
                    />
                <TextView 
                    android:text="***"
                    android:background="#0000ff"
                    android:padding="2dip"
                    />
            </TableRow>
             <TableRow >
                 <TextView
                android:text="美國"
                android:background="#848484"
                android:padding="2dip"
                 />
                <TextView 
                    android:text="*"
                    android:background="#ff0000"
                    android:padding="2dip"
                />
                <TextView 
                    android:text="**"
                    android:background="#00ff00"
                    android:padding="2dip"
                    />
                <TextView 
                    android:text="***"
                    android:background="#0000ff"
                    android:padding="2dip"
                    />
            </TableRow>
        </TableLayout>
    </LinearLayout>
    
</LinearLayout>

 

  實驗總結:

  通過本次實驗對activity的簡單布局有了個初步的了解。

 

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM