當前位置:編程學習大全網 - 行動軟體 - absolutelayout

absolutelayout

布局的介紹:

1、在4.0以前版本中壹***有五種布局,都是ViewGroup的子類。分別是AbsoluteLayout、RelativeLayout、LinearLayout、FrameLayout、TableLayout。而TableLayout是LinearLayout的子類。(中文分別是:絕對布局、相對布局、線性布局、幀布局、表格布局)。

2、在2.2操作系統中將AbsoluteLayout過期。而目前TableLayout也逐漸少用。

3、在4.0之後又新增GridLayout。(GridLayout最經典的案例是計算器界面)

總之,Android中壹***有六種布局。目前推薦使用RelativeLayout、LinearLayout、GridLayout三種布局。

LinearLayout:

(壹)、概念:線性布局控制其中的控件或組件橫向或縱向排列。不線性布局布局中,每壹行或每壹列只能放壹個控件。並且線性布局不會換行。當控件排列到窗體邊緣,後面的控件就被隱藏,而不會顯示出來。

線性布局的默認方向是水平方向(Horizontal)。vertical

(二)、LinearLayout的常用屬性:

1.android:orientation 定義布局內控件或組件的排列方式

可選項:vertical 、 horizontal

2.android:layout_width 定義控件的寬度

可選項:fill_parent / match_parent/ wrap_content/絕對數值

備註:fill_parent / match_parent的效果完全壹致,都是填充整個父控件。但是自2.2版本開始推薦使用match_parent 。wrap_content指的是該控件的寬度正好包裹內容物。

3.android:layout_height 定義控件的高度

可選項:fill_parent / match_parent/ wrap_content/絕對數值

備註:fill_parent / match_parent的效果完全壹致,都是高度填充整個父控件。wrap_content指的是該控件的高度正好包裹內容物。

4.android:id 設置控件的id。這樣就可以在R.java中自動生成相應的值,在程序中通過findViewById就可以調用。

設置id的格式為:android:id = "@+id/id的名字"

5.android:background 設置控件的背景顏色或背景圖片

例如:android:background="#ffffff"

android:background="@drawable/圖片名稱"

備註:

顏色有RGB顏色格式和ARGB格式。RGB是紅綠藍三原色。而ARGB是帶alpha的三原色,即有透明度的三原色。

#FFFFFF 代表白色

#000000 黑色

#FFFFFFFF 完全不透明

#00FFFFFF 完全透明

#88FFFFFF 半透明

6.android:layout_weight 設置控件的權重。即各控件在水平或者垂直方向上平均分配。

備註:如果是水平方向設置權重,要將android:layout_width設置為0dp,如果是垂直方向上使用權重,要將android:layout_height設置為0dp。否則權重容易受到高度或寬度的幹擾而出現偏差。

7.android:gravity 該屬性用來控制該View的內容物的位置。

如果該屬性是定義在布局節點中,則該布局中所有控件的位置都受到這個屬性的控制。

如果該屬性出現在Button、TextView、EditText等控件中,則用來控制這些控件上的文字的位置。

可選項有:top、bottom、left、right、center_vertical、fill_vertical 、 center、fill等等。

備註:本屬性與android:layout_gravity不同。

8.android:layout_gravity 該屬性用於設置控件相對於容器的對齊方式。

可選項有:top、bottom、left、right、center_vertical、center_horizontal 、fill_vertical 、 center、fill等等。

這些可選項中不是適用於每壹種布局。在垂直線性布局中,android:gravity為bottom不起作用;而水平線性布局中,android:gravity為right不起作用。

備註:而本屬性是android:layout_gravity屬性,與 android:gravity 屬性不同。

(三)、LinearLayout的特有屬性:重新歸納:去除公***屬性後的特有屬性

1、android:orientation 布局管理器內組件的排列方式

2、android:gravity 設置布局管理器內組件的對齊方式

(四)、 LinearLayout 子元素的特有屬性:

1、android:layout_weight 子元素在 LinearLayout 中所占的權重

2、android:layout_gravity 子元素在 LinearLayout 中的對齊方式

RelativeLayout:

(壹)、概念:指按著控件之間的相對位置來進行布局。

(二)、RelativeLayout特有屬性:

1、android:gravity 設置布局容器內子控件的對齊方式

2、android:ignoreGravity 設置布局管理器內哪個控件不受gravity屬性的影響

(三)、RelativeLayout子元素的特有屬性:LayoutParams

A、第壹組:指兄弟控件之間的相對位置。該組屬性的值是另壹個控件的id。

layout_toRightOf 該控件在哪個控件的右側

layout_toLeftOf 該控件在哪個控件的左側

layout_above 該控件在哪個控件的上側

layout_below 該控件在哪個控件的下側

B、第二組:指兄弟控件之間的對齊關系。該組屬性的值是另壹個控件的id。

layout_alignRight 該控件與哪個控件的右對齊

layout_alignLeft 該控件與哪個控件的左對齊

layout_alignTop 該控件與哪個控件的頂對齊

layout_alignBottom 該控件與哪個控件的底對齊

C、第三組:指控件與父布局之間的對齊關系。該組屬性的值是true或者false。

layout_alignParentRight 該控件與父布局控件的右對齊嗎?

layout_alignParentLeft 該控件與父布局控件的左對齊嗎?

layout_alignParentTop 該控件與父布局控件的頂端對齊嗎?

layout_alignParentBottom 該控件與父布局控件的底部對齊嗎?

layout_centerInParent 該控件位於父布局控件的中心位置嗎?

layout_centerVertical 該控件位於父布局控件的垂直中心位置嗎?

layout_centerHorizontal 該控件位於父布局控件的水平中心位置嗎?

GridLayout:網格布局

(壹)、GridLayout布局屬性:

1、android:alignmentMode

屬性說明:設置布局的對齊模式。可以取以下值:

alignBounds -- 對齊子視圖邊界。

alignMargins -- 對齊子視圖邊距。

2、android:columnCount

屬性說明:GridLayout的最大列數

3、android:rowCount

屬性說明:GridLayout的最大行數

4、android:orientation

屬性說明:GridLayout中子元素的布局方向。有以下取值:

horizontal -- 水平布局。

vertical -- 豎直布局。

5、android:columnOrderPreserved

屬性說明: 設置該網格布局是否保留列序號。默認是true。

6、android:rowOrderPreserved

屬性說明: 設置該網格布局是否保留行序號。默認是true。

7、android:useDefaultMargins

屬性說明: 設置GridLayout使用默認的邊距。默認值是false。

(二)、GridLayout子元素的屬性:

1、android:layout_column

屬性說明: 顯示該控件的列。例如,android:layout_column="0",表示在第1列顯示該控件;android:layout_column="1",表示在第2列顯示該控件。

2、android:layout_row

屬性說明: 該控件所在行。例如,android:layout_row="0",表示在第1行顯示該控件;android:layout_row="1",表示在第2行顯示該控件。它和 android:layout_column類似。

3、android:layout_columnSpan

屬性說明: 列合並。即該控件所占的列數。例如,android:layout_columnSpan="2",表示該控件占2列。

4、android:layout_rowSpan

屬性說明: 行合並。即該控件所占的行數。例如,android:layout_rowSpan="2",表示該控件占2行。

5、android:layout_gravity

屬性說明:該控件的布局方式。選項值:

top -- 控件置於容器頂部,不改變控件的大小。

bottom -- 控件置於容器底部,不改變控件的大小。

left -- 控件置於容器左邊,不改變控件的大小。

right -- 控件置於容器右邊,不改變控件的大小。

center_vertical -- 控件置於容器豎直方向中間,不改變控件的大小。

fill_vertical -- 如果需要,則往豎直方向延伸該控件。

center_horizontal -- 控件置於容器水平方向中間,不改變控件的大小。

fill_horizontal -- 如果需要,則往水平方向延伸該控件。

center -- 控件置於容器中間,不改變控件的大小。

fill -- 如果需要,則往水平、豎直方向延伸該控件。

clip_vertical -- 垂直剪切,剪切的方向基於該控件的top/bottom布局屬性。若該控件的gravity是豎直的:若它的gravity是top的話,則剪切該控件的底部;若該控件的gravity是bottom的,則剪切該控件的頂部。

clip_horizontal -- 水平剪切,剪切的方向基於該控件的left/right布局屬性。若該控件的gravity是水平的:若它的gravity是left的話,則剪切該控件的右邊;若該控件的gravity是 right的,則剪切該控件的左邊。

start -- 控件置於容器的起始處,不改變控件的大小。

end -- 控件置於容器的結束處,不改變控件的大小。

  • 上一篇:跪求 天使之爭國語 MP4
  • 下一篇:鹿泉旅遊景點大全
  • copyright 2024編程學習大全網