android佈局之一:簡單入門

Android中UI涉及的Layout主要有:LinearLayout、RelativeLayout、TableLayout、TabLayout、GridView、Listview這裏的六個爲文檔中提到的佈局方式,除此之外,常用的還有AbsoluteLayout和FrameLayout佈局。

其中這些佈局中需要注意的地方有:

  LiearLayout本身是ViewGroup,它可以橫向或者縱向顯示子View,使用Linearlayout時需要特別注意的是對Linearlayout的過度使用,當我們使用多層Linearlayout嵌套時應該考慮用RelativeLayout代替(主要是考慮到多層View加載時的效率低下問題,尤其是當該多層的Linearlayout爲Listview的item時效率更爲低下)

  RelativeLayout也是一個ViewGroup,可以用一種相對位置的方式顯示子View,比如在某元素的下邊、左邊,相對元素下邊框對齊、左對齊、居中對齊等等;RelativeLayout對於消除嵌套的ViewGroup方面是有強大的作用,比如可以用RelativeLayout代替多個嵌套的Linearlayout;此外還要注意的是,其中元素之間的相對關係的設置必須爲同級元素,不同級的元素相對位置的設置是沒有作用的,它相對FrameLayout相比元素之間是相對位置的關係不存在層的概念

  TableLayout:主要涉及到的標籤有<TableLayout>和<TableRow> TableLayout有點類似與HTML中的<table>標籤,<TableRow>類似<tr>但是不同的是<TableRow>單元中可以放置任意View,如:TextView等

  AbsoluteLayout:已過時,主要是因爲它必須指定元素的絕對x/y座標,並且元素沒有頁邊框元素之間可以重疊,實際中應用較少

  FrameLayout:主要用來在屏幕上劃分出一塊來顯示某一項,可以給FrameLayout添加多個子View並用gravity來控制它們的顯示位置,子View以stack方式被繪製,總是在最近的子View上方添加,FrameLayout的父元素決定子元素的顯示與否,最大子元素的size決定FrameLayout的size,此佈局用的也較少

  Tab Layout:主要用到的組件TabHost和TabWidget,TabHost必須爲這個Layout佈局的root,TabWidget負責顯示tabs而FrameLayout負責顯示TabContent,不同的tabs切換既可以用同一個Activity也可以用不同的Activity

  GridView:顯示的爲一個兩維有深度、可滾動的網格,Grid 的每一項將自動按照ListAdapter插入Layout

  ListView也是ViewGroup,爲可滾動的list列表,也需要ListAdapter來顯示每一項

  具體的小例子可以參考sdk文檔

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章