安卓表格布局android:collapseColumns,android:shrinkColumns和stretchColumn


TableLayout的行數由開發者直接指定,即有多少個TableRow對象(或View控件),就有多少行。

        TableLayout的列數等於含有最多子控件的TableRow的列數。如第一TableRow含2個子控件,第二個TableRow含3個,第三個TableRow含4個,那么該TableLayout的列數為4.



TableLayout可設置的屬性包含全局屬性及單元格屬性。

1、全局屬性也即列屬性。有下面3個參數:

android:stretchColumns    設置可伸展的列。該列能夠向行方向伸展。最多可占領一整行。

android:shrinkColumns     設置可收縮的列。

當該列子控件的內容太多。已經擠滿所在行,那么該子控件的內容將往列方向顯示。

android:collapseColumns 設置要隱藏的列。


演示樣例:

android:stretchColumns="0"           第0列可伸展

android:shrinkColumns="1,2"         第1,2列皆可收縮

android:collapseColumns="*"         隱藏全部行

說明:列能夠同一時候具備stretchColumns及shrinkColumns屬性,若此,那么當該列的內容N多時,將“多行”顯示其內容。

(這里不是真正的多行,而是系統依據須要自己主動調節該行的layout_height)

2、單元格屬性。有下面2個參數:

android:layout_column    指定該單元格在第幾列顯示

android:layout_span        指定該單元格占領的列數(未指定時。為1)

演示樣例:

android:layout_column="1"    該控件顯示在第1列

android:layout_span="2"        該控件占領2列

說明:一個控件也能夠同一時候具備這兩個特性。





TableLayout是一個使用復雜的布局。最簡單的用法就不過拖拉控件做出個界面。但實際上。會常常在代碼里使用TableLayout,比如做出表格的效果。

本文主要介紹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="fill_parent" 
               >  
     <TableRow> 
     <Button  
         android:id="@+id/button1" 
         android:layout_width="wrap_content" 
         android:layout_height="wrap_content"             
         android:text="Button1" 
         android:layout_column="0"/> 
      <Button  
          android:id="@+id/button2" 
          android:layout_width="wrap_content" 
          android:layout_height="wrap_content" 
          android:text="Hello, I am a Button2" 
          android:layout_column="1"/> 
     </TableRow> 
 </TableLayout>   


\

1 android:stretchColumns = "指定的列" ------->以第0行為序,盡量把指定的列填充空白部分

設置stretchColumns=0,則結果例如以下圖,第0列被盡量填充

\

設置stretchColumns=1,則結果例如以下圖。第1列被盡量填充

\

2 android:shrinkColumns = "指定的列":以第0行為序,自己主動延伸指定的列填充可用部分

當LayoutRow里面的控件還沒有布滿布局時。shrinkColumns不起作用,例如以下圖

\

當LayoutRow里面的控件還沒有布滿布局時(改寫一下第三個Button的內容)

\

3 android:collapseColumns = “指定的列”  第0行為序。隱藏指定的列>

android:collapseColumns該屬性為空時,例如以下圖:

\

android:collapseColumns=“0”  意思是把第0列去掉,例如以下圖:


\





免責聲明!

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



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