導航:首頁 > 操作系統 > android平均布局

android平均布局

發布時間:2025-06-06 16:53:34

android基礎之常用五種布局

所有東西依次都放在左上角,會重疊,這個布局比較簡單,也只能放一點比較簡單的東西。

分為垂直布局( android:orientation="vertical" )和水平布局( android:orientation="horizontal" )。
垂直布局時,每一行就只有一個元素,多個元素依次垂直往下;
水平布局時,只有一行,每一個元素依次向右排列。

用X,Y坐標來指定元素的位置,這種布局方式也比較簡單
在屏幕旋轉時,往往會出問題,而且多個元素的時候,計算比較麻煩。

可以理解為某一個元素為參照物,來定位的布局方式。
主要屬性有:
相對於某一個元素 android:layout_below 、 android:layout_toLeftOf
相對於父元素的地方 android:layout_alignParentLeft 、 android:layout_alignParentRigh ;

每一個 TableLayout 裡面有表格行 TableRow , TableRow 裡面可以具體定義每一個元素。每一個布局都有自己適合的方式,這五個布局元素可以相互嵌套應用,做出美觀的界面。

Ⅱ Android 界面排版

Android布局是應用界面開發的重要一環,在Android中,共有五種布局方式,分別是:FrameLayout(框架布局),LinearLayout (線性布局),AbsoluteLayout(絕對布局),RelativeLayout(相對布局),TableLayout(表格布局).
一、FrameLayout
這個布局可以看成是牆腳堆東西,有一個四方的矩形的左上角牆腳,我們放了第一個東西,要再放一個,那就在放在原來放的位置的上面,這樣依次的放,會蓋住原來的東西。這個布局比較簡單,也只能放一點比較簡單的東西。

二、LinearLayout

線性布局,這個東西,從外框上可以理解為一個div,他首先是一個一個從上往下羅列在屏幕上。每一個LinearLayout裡面又可分為垂直布局(android:orientation="vertical")和水平布局(android:orientation="horizontal" )。當垂直布局時,每一行就只有一個元素,多個元素依次垂直往下;水平布局時,只有一行,每一個元素依次向右排列。
linearLayout中有一個重要的屬性 android:layout_weight="1",這個weight在垂直布局時,代錶行距;水平的時候代表列寬;weight值越大就越大。

三、AbsoluteLayout

絕對布局猶如div指定了absolute屬性,用X,Y坐標來指定元素的位置android:layout_x="20px" android:layout_y="12px" 這種布局方式也比較簡單,但是在垂直隨便切換時,往往會出問題,而且多個元素的時候,計算薯指比較麻煩。 AbsoluteLayout 可以讓子元素指定準確的x/y坐標值,並顯示在屏幕上。AbsoluteLayout 沒有頁邊框,允許元素之間互相重疊(盡管不推薦)。他是絕對坐標,所以在實際中不提倡使用。
相對布局可以理解為某一個元素為參照物,來定位的布局方式。主要屬性有:
相對於某一個元素
// 相對於給雀埋定ID控制項
android:layout_above 將該控制項的底部置於給定ID的控制項之上;
android:layout_below 將該控制項的底部置於給定ID的控制項之下;
android:layout_toLeftOf 將該控制項的右邊緣與給定ID的數歲配控制項左邊緣對齊;
android:layout_toRightOf 將該控制項的左邊緣與給定ID的控制項右邊緣對齊;

android:layout_alignBaseline 將該控制項的baseline與給定ID的baseline對齊;
android:layout_alignTop 將該控制項的頂部邊緣與給定ID的頂部邊緣對齊;
android:layout_alignBottom 將該控制項的底部邊緣與給定ID的底部邊緣對齊;
android:layout_alignLeft 將該控制項的左邊緣與給定ID的左邊緣對齊;
android:layout_alignRight 將該控制項的右邊緣與給定ID的右邊緣對齊;

// 相對於父組件
android:layout_alignParentTop 如果為true,將該控制項的頂部與其父控制項的頂部對齊;
android:layout_alignParentBottom 如果為true,將該控制項的底部與其父控制項的底部對齊;
android:layout_alignParentLeft 如果為true,將該控制項的左部與其父控制項的左部對齊;
android:layout_alignParentRight 如果為true,將該控制項的右部與其父控制項的右部對齊;

// 居中
android:layout_centerHorizontal 如果為true,將該控制項的置於水平居中;
android:layout_centerVertical 如果為true,將該控制項的置於垂直居中;
android:layout_centerInParent 如果為true,將該控制項的置於父控制項的中央;

// 指定移動像素
android:layout_marginTop 上偏移的值;
android:layout_marginBottom 下偏移的值;
android:layout_marginLeft 左偏移的值;
android:layout_marginRight 右偏移的值;

example:
android:layout_below = "@id/***"
android:layout_alignBaseline = "@id/***"
android:layout_alignParentTop = true
android:layout_marginLeft = 「10px」

還可以指定邊距等,具體詳見API

五.TableLayout
表格布局類似Html裡面的Table。每一個TableLayout裡面有表格行TableRow,TableRow裡面可以具體定義每一個元素,設定他的對齊方式 android:gravity="" 。
每一個布局都有自己適合的方式,另外,這五個布局元素可以相互嵌套應用,做出美觀的界面。TableLayout 將子元素的位置分配到行或列中。一個TableLayout 由許多的TableRow 組成,每個TableRow 都會定義一個 row 。TableLayout 容器不會顯示row 、cloumns 或cell 的邊框線。每個 row 擁有0個或多個的cell ;和html中的table查不多少。在實際中也經常使用。

Android的Margin和Padding跟Html的是一樣的。通俗的理解 Padding 為內邊框,Margin 為外邊框
對應的屬性為
android:layout_marginBottom="25dip"
android:layout_marginLeft="10dip"
android:layout_marginTop="10dip"
android:layout_marginRight="10dip"
android:paddingLeft="1dip"
android:paddingTop="1dip"
android:paddingRight="1dip"
android:paddingBottom="1dip"
如果左右上下都是相同的設置則可以直接設置
android:layout_margin="10dip"
android:padding="5dip"

過去,程序員通常以像素為單位設計計算機用戶界面。例如,定義一個寬度為300像素的表單欄位,列之間的間距為5個像素,圖標大小為16×16像素 等。這樣處理的問題在於,如果在一個每英寸點數(dpi)更高的新顯示器上運行該程序,則用戶界面會顯得很小。在有些情況下,用戶界面可能會小到難以看清 內容。

與解析度無關的度量單位可以解決這一問題。Android支持下列所有單位。

px(像素):屏幕上的點。

in(英寸):長度單位。

mm(毫米):長度單位。

pt(磅):1/72英寸。

dp(與密度無關的像素):一種基於屏幕密度的抽象單位。在每英寸160點的顯示器上,1dp = 1px。

dip:與dp相同,多用於android/ophone示例中。

sp(與刻度無關的像素):與dp類似,但是可以根據用戶的字體大小首選項進行縮放。

為了使用戶界面能夠在現在和將來的顯示器類型上正常顯示,建議大家始終使用sp作為文字大小的單位,將dip作為其他元素的單位。當然,也可以考慮使用矢量圖形,而不是用點陣圖.
dp是與密度無關,sp除了與密度無關外,還與scale無關。
如果屏幕密度為160,這時dp和sp和px是一樣的。1dp=1sp=1px,但如果使用px作單位,如果屏幕大小不變(假設還是3.2寸),而屏幕密度變成了320。
那麼原來TextView的寬度設成160px,在密度為320的3.2寸屏幕里看要比在密度為160的3.2寸屏幕上看短了一半。
但如果設置成160dp或160sp的話。系統會自動將width屬性值設置成320px的。
也就是160 * 320 / 160。其中320 / 160可稱為密度比例因子。也就是說,如果使用dp和sp,系統會根據屏幕密度的變化自動進行轉換

Ⅲ 請android四大組件是什麼android常見合布局有哪些

Android有四大組件:Activity、Service、Broadcast Receiver、Content Provider

在這些組件之間的通訊中,主要是由Intent協助完成的。
Intent負責對應用中一次操作的動作、動作涉及數據、附加數據進行描述,Android則根據此Intent的描述,負責找到對應的組件,將 Intent傳遞給調用的組件,並完成組件的調用。
因此,Intent在這里起著一個媒體中介的作用,專門提供組件互相調用的相關信息,實現調用者與被調用者之間的解耦。
例如,在一個聯系人維護的應用中,當我們在一個聯系人列表屏幕(假設對應的Activity為listActivity)上,點擊某個聯系人後,希望能夠跳出此聯系人的詳細信息屏幕(假設對應的Activity為detailActivity)
為了實現這個目的,listActivity需要構造一個 Intent,這個Intent用於告訴系統,我們要做「查看」動作,此動作對應的查看對象是「某聯系人」,然後調用startActivity (Intent intent),
將構造的Intent傳入,系統會根據此Intent中的描述,到ManiFest中找到滿足此Intent要求的Activity,系統會調用找到的 Activity,即為detailActivity,最終傳入Intent,detailActivity則會根據此Intent中的描述,執行相應的操作。

如果您認可我的答案,請點擊下面的「選為滿意回答」按鈕,謝謝!

Ⅳ android有哪些布局管理器,哪些最常用

在Android開發中,布局管理器是構建用戶界面的關鍵組成部分。LinearLayout、TableLayout、RelativeLayout和FrameLayout是常用的幾種布局管理器。其中,LinearLayout是最基礎的布局管理器之一,它能夠方便地將組件按照水平或垂直方向排列,適合簡單的界面設計。

TableLayout則更適合需要按照表格形式布局的場景,它能夠幫助開發者輕松實現類似表格的布局效果。然而,它的使用相對較少,更多時候被其他布局管理器所取代。

RelativeLayout是一個功能強大的布局管理器,它允許開發者通過相對位置關系來定位子視圖,使得界面布局更加靈活和動態。對於復雜的界面設計,RelativeLayout通常能提供更好的解決方案。

FrameLayout則主要用於將子視圖放置在一個固定位置,它通常用於覆蓋其他視圖。不過,FrameLayout並不是推薦使用的布局管理器,因為它的局限性較大,不適用於大多數場景。

初學者在學習Android開發時,可能會首先接觸並使用LinearLayout,因為它簡單易懂,上手快。但在實際開發過程中,隨著項目復雜度的增加,開發者往往會更多地依賴於RelativeLayout,因為它的靈活性和強大的功能能夠更好地滿足復雜的界面設計需求。

Ⅳ Android 常見布局

Android六大基本布局分別是:線性布局LinearLayout、表格布局TableLayout、相對布局RelativeLayout、層布局FrameLayout、絕對布局AbsoluteLayout、網格布局GridLayout。其中,表格布局是線性布局的子類。網格布局是android 4.0後新增的布局。
在手機程序設計中,絕對布局基本上不用,用得相對較多的是線性布局和相對布局。

padding是站在父view的角度描述問題,它規定它裡面的內容必須與這個父view邊界的距離。margin則是站在自己的角度描述問題,規定自己和其他(上下左右)的view之間的距離,如果同一級只有一個view,那麼它的效果基本上就和padding一樣了。

顯示特點:所有子控制項按照橫向或者豎向依次排列

left(左)、right(右)、top(上)、bottom(下)、center(中心)、
enter_vertical(豎向中心)、center_horizontal(橫向中心)

left(左)、right(右)、top(上)、bottom(下)、center(中心)、
enter_vertical(豎向中心)、center_horizontal(橫向中心)

子控制項的用法:android:layout_weight="1" 多個控制項同時使用,可以實現平分的效果

顯示特點:和LinearLayout布局相似,所有子控制項默認顯示在RelativeLayout的左上角

layout_toRightOf 在指定控制項的右邊
layout_toLeftOf 在指定控制項的左邊
layout_above 在指定控制項的上邊
layout_below 在指定控制項的下邊子控制項對齊關系

layout_alignRight 與指定控制項右對齊
layout_alignLeft 與指定控制項左對齊
layout_alignTop 與指定控制項上對齊

layout_centerInParent 與父容器中間對齊 pairunte
layout_centerVertical 與父容器豎向中心對齊
layout_centerHorizontal 與父容器橫向中心對齊
layout_alignParentLeft 與父容器左邊對齊
layout_alignParentTop 與父容器上邊對齊
layout_alignParentRight 與父容器右邊對齊
layout_alignParentBottom 與父容器下邊對齊

顯示特點:所有子控制項默認在GridLayout中橫向依次排列,當只等每行的列數時,到達指定列數
會自動換行顯示。

layout_column 在網格的第幾列
layout_row 在網格的第幾行
layout_columnSpan 跨列
layout_rowSpan 跨行
layout_gravity 在一個網格中的重心位置
columnCount 每行列總數

顯示特點:所有的子控制項默認顯示在FrameLayout的左上角,會重疊在一起顯示。

layout_gravity(設置給子控制項,調整控制項在容器內的重心)
常用值:
left(左)、 right(右)、
top(上)、 bottom(下)、
center(中心)、 center_vertical(豎向中心)
center_horizontal(橫向中心)

表格布局和網格布局類似,但是需要注意的是,表格布局不能跨行,只能跨列

Ⅵ 求助:android:layout

布局的介紹:
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 -- 控制項置於容器的結束處,不改變控制項的大小。

閱讀全文

與android平均布局相關的資料

熱點內容
關於改善國家網路安全的行政命令 瀏覽:825
安卓如何下載網易荒野pc服 瀏覽:646
javainetaddress 瀏覽:95
蘋果4s固件下載完了怎麼解壓 瀏覽:994
命令zpa 瀏覽:277
python編譯器小程序 瀏覽:936
在app上看視頻怎麼光線調暗 瀏覽:532
可以中文解壓的解壓軟體 瀏覽:584
安卓卸載組件應用怎麼安裝 瀏覽:904
使用面向對象編程的方式 瀏覽:331
程序員項目經理的年終總結範文 瀏覽:920
內衣的加密設計用來幹嘛的 瀏覽:424
淮安數據加密 瀏覽:287
魔高一丈指標源碼 瀏覽:974
松下php研究所 瀏覽:162
c回調java 瀏覽:391
夢幻端游長安地圖互通源碼 瀏覽:738
電腦本地文件如何上傳伺服器 瀏覽:305
單片機晶振不好怎麼辦 瀏覽:573
安卓時時監控源碼 瀏覽:937