Android 使用者介面 ViewGroup(FrameLayout LinearLayout AbsoluteLayout RelativeLayout TableLayout)

來源:互聯網
上載者:User

標籤:android   io   ar   使用   sp   on   bs   ad   ef   

布局:

1、幀布局 FrameLayout:
是最簡單的一個布局對象。在他裡面的的所有顯示對象愛你過都將固定在螢幕的左上方,不能指定位置,但允許有多個顯示對象,只是後一個會直接覆蓋在前一個之上顯示,會把前面的組件部分或全部擋住。
但我們可以使用android:marginTop來布局。

2、線性布局 LinearLayout:
線性布局是所有布局中最常用的類之一,也是RadioGroup, TabWidget, TableLayout, TableRow, ZoomControls類的父類。LinearLayout可以讓它的子項目垂直或水平的方式排成一行(不設定方向的時候預設按照垂直方向排列)。

3、絕對布局 AbsoluteLayout
絕對位置AbsoluteLayout,又可以叫做座標布局,可以直接指定子項目的絕對位置,這種布局簡單直接,直觀性強,但是由於手機螢幕尺寸差別比較大,使用絕對位置的適應性會比較差。使用android:layout_x和android:layout_y來指定子項目的縱橫座標。 在絕對位置中,如果子項目不設定layout_x和layout_y,那麼它們的預設值是0,也就是說它會像在FrameLayout一樣這個元素會出現在左上方。

4、相對布局 RelativeLayout
相對布局 RelativeLayout 允許子項目指定它們相對於其父元素或兄弟元素的位置,這是實際布局中最常用的布局方式之一。它靈活性大很多,當然屬性也多,操作難度也大,屬性之間產生衝突的的可能性也大,使用相對布局時要多做些測試。

RelativeLayout用到的一些重要的屬性:

    第一類:屬性值為true或false
    android:layout_centerHrizontal                                           水平置中
    android:layout_centerVertical                                            垂直置中
    android:layout_centerInparent                                           相對於父元素完全置中
    android:layout_alignParentBottom                                     貼緊父元素的下邊緣
    android:layout_alignParentLeft                                          貼緊父元素的左邊緣
    android:layout_alignParentRight                                        貼緊父元素的右邊緣
    android:layout_alignParentTop                                          貼緊父元素的上邊緣
    android:layout_alignWithParentIfMissing                            如果對應的兄弟元素找不到的話就以父元素做參照物
    第二類:屬性值必須為id的引用名“@id/id-name”
    android:layout_below                          在某元素的下方
    android:layout_above                          在某元素的的上方
    android:layout_toLeftOf                       在某元素的左邊
    android:layout_toRightOf                     在某元素的右邊
    android:layout_alignTop                      本元素的上邊緣和某元素的的上邊緣對齊
    android:layout_alignLeft                      本元素的左邊緣和某元素的的左邊緣對齊
    android:layout_alignBottom                 本元素的下邊緣和某元素的的下邊緣對齊
    android:layout_alignRight                    本元素的右邊緣和某元素的的右邊緣對齊
    第三類:屬性值為具體的像素值,如30dip,40px
    android:layout_marginBottom              離某元素底邊緣的距離
    android:layout_marginLeft                   離某元素左邊緣的距離
    android:layout_marginRight                 離某元素右邊緣的距離
    android:layout_marginTop                   離某元素上邊緣的距離

    例如:使ListView的height為fill_parent,marginTop或marginBotoom為具體數值,則ListView
不會佔滿底部空間,使ListView以下的控制項無法顯示,ListView會在設定的控制項顯示內容,內容過多則顯示滾動效果。
    
5、表格版面配置 TableLayout
表格版面配置TableLayout以行列的形式管理子項目,每一行是一個TableRow布局對象,當然也可以是普通的View對象,TableRow離每放一個元素就是一列,總列數由列數最多的那一行決定。

    collapseColumns – 設定隱藏那些列,列ID從0開始,多個列的話用”,”分隔
    stretchColumns – 設定自動伸展那些列,列ID從0開始,多個列的話用”,”分隔
    shrinkColumns -設定自動收縮那些列,列ID從0開始,多個列的話用”,”分隔
    可以用”*”來表示所有列,同一列可以同時設定為shrinkable和stretchable。

    android:layout_column    指定該儲存格在第幾列顯示
    android:layout_span        指定該儲存格佔據的列數(未指定時,為1)


Tip:TableRow也是一個Layout,裡面的元素會水平排列,如果TableRow的父元素不是TableLayout的話,那麼他會表現的像一個LinearLayout。





































Android 使用者介面 ViewGroup(FrameLayout LinearLayout AbsoluteLayout RelativeLayout TableLayout)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.