Android Layout各種布局

jopen 11年前發布 | 38K 次閱讀 Android Android開發 移動開發

Android Layout各種布局

LinearLayout(線性布局)

提供了控件水平垂直排列的模型,同時可以通過設置子控件的weight布局參數控制各個控件在布局中的相對大小。

水平(vertical)垂直(horizontal

fill-parent:占滿整個屏幕,

wrap-content:剛好適合控件內容的大小

對齊方式gravity取值:

top:不改變大小,位置置于容器的頂部

bottom:不改變大小,位置置于容器的底部

left:不改變大小,位置置于容器的左邊

right:不改變大小,位置置于容器的右邊

center_vertical:不改變大小,位置置于容器的縱向中央部分

center_horizontal:不改變大小,位置置于容器的橫向中央部分

center:不改變大小,位置置于容器的橫向和縱向的中央部分

fill_vertical:可能的話,縱向延伸可以填滿容器

fiil_horizontal:可能的話,橫向延伸可以填滿容器

fiil:可能的話,縱向和橫向延伸填滿容器


AbsoluteLayout(坐標布局)可以讓子元素指定準確的x/y坐標值,并顯示在屏幕上。(0, 0)為左上角,當向下或向右移動時,坐標值將變大。AbsoluteLayout沒有頁邊框,允許元素之間互相重疊(盡管不推薦)。我們通常不推薦使用AbsoluteLayout,除非你有正當理由要使用它,因為它使界面代碼太過剛性,以至于在不同的設備上可能不能很好地工作。 

Androidlayout_x/layout_y=”56px”確定控件位置

 

RelativeLayout(相對布局)允許子元素指定他們相對于其它元素或父元素的位置(通過ID指定)。因此,你可以以右對齊,或上下,或置于屏幕中央的形式來排列兩個元素。元素按順序排列,因此如果第一個元素在屏幕的中央,那么相對于這個元素的其它元素將以屏幕中央的相對位置來排列。如果使用XML來指定這個layout,在你定義它之前,被關聯的元素必須定義。

Androidlayout_centerInparent,將當前控件放置于起父控件的橫向和縱向的中央部分

Androidlayout_centerHorizontal,使當前控件置于父控件橫向的中央部分

Androidlayout_centerVertival,使當前控件置于父控件縱向的中央部分

Androidlayout_alignParentBottom,使當前控件的底端和父控件底端對齊

Androidlayout_alignParentLeft,使當前控件的左端和父控件左端對齊

Androidlayout_alignParentRight,使當前控件的右端和父控件右端對齊

Androidlayout_alignParentTop,使當前控件的頂端和父控件頂端對齊

Androidlayout_alignParentBottom,使當前控件的底端和父控件底端對齊

上述屬性只能設置Bool類型的值,“true”或“false

Androidlayout_below/layout_above/ layout_toLeftOf/ layout_toRightOf =@id/”使當前控件置于給出id的空間的下方/上方/左邊/右邊

Android:layout_marginBottom/layout_marginLeft/layout_marginRight/layout_marginTop=”30px”使當前控件底部/左邊/右邊/頂部空出相應像素空間


FrameLayout(單幀布局)是最簡單的一個布局對象。它被定制為你屏幕上的一個空白備用區域,之后你可以在其中填充一個單一對象 — 比如,一張你要發布的圖片。所有的子元素將會固定在屏幕的左上角;你不能為FrameLayout中的一個子元素指定一個位置。后一個子元素將會直接在前一個子元素之上進行覆蓋填充,把它們部份或全部擋住(除非后一個子元素是透明的)。

Android:src=”@drawable/”屬性指定所需圖片的文件位置,用ImageView顯示圖片時,也應當用androidsrc指定要顯示的圖片


TableLayout(表格布局)以行列的形式管理子控件,每一行為一個TableRow的對象,TableRow也可以添加子控件

androidcollapseColumns=n”隱藏TableLayout里面的TableRow的列n

androidstretchColumns=n”設置列n為可延伸的列

androidshrinkColumns=n”設置列n為可收縮的列

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!