❶ 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" 這種布局方式也比較簡單,但是在垂直隨便切換時,往往會出問題,而且多個元素的時候,計算比較麻煩。
四、RelativeLayout
相對布局可以理解為某一個元素為參照物,來定位的布局方式。主要屬性有:
相對於某一個元素
android:layout_below="@id/aaa" 該元素在 id為aaa的下面
android:layout_toLeftOf="@id/bbb" 改元素的左邊是bbb
相對於父元素的地方
android:layout_alignParentLeft="true" 在父元素左對齊
android:layout_alignParentRight="true" 在父元素右對齊
還可以指定邊距等,具體詳見API
五。TableLayout
表格布局類似Html裡面的Table。每一個TableLayout裡面有表格行TableRow,TableRow裡面可以具體定義每一個元素,設定他的對齊方式 android:gravity="" 。
每一個布局都有自己適合的方式,另外,這五個布局元素可以相互嵌套應用,做出美觀的界面。-----------------cvsyun。
❷ 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】UI(二)Android常用的基礎布局容器
Android 的UI 可以分為兩類,一類叫做ViewGroup容器,一類叫做View視圖
View視圖:(TextView,Button,ImageView)都是常用常見的視圖.
ViewGroup容器:內部可以承載、放置、添加View視圖
線性布局就是 從左到右 或 從上到下 按 順序排列 的一種布局。下面講一講LinearLayout的基礎屬性。
相對布局在擺放子視圖位置時,按照 指定的參考系 來擺放子視圖的位置, 默認以屏幕左上角(0,0)位置 作為 參考系 擺放位置
使用layout_below使得後面一個組件位於前面一個組件的下方
配合layout_toRightOf使得後面一個組件位於前面一個組件的右方
組件的默認位置都是左上角,組件之間可以重疊。像千層餅一樣,一層壓著一層 可以設置上下左右的對齊、水平垂直居中、設置方式與線性布局相似
參考: 2021Android從零入門到實戰(Kotlin版)
❹ Android Studio 中的布局
在Android Studio中的布局共有6種布局(已知):
只能在LinearLayout中實現,
父類添加orientation屬性(horizontal水平排列 | Vertical垂直排序),
在子類中添加權重layout_weight 數字越大,佔比越大。
相對於父容器 (居中):水平居中android:layout_centerHorizontal
敬茄 完全居中android:layout_centerInParent
敗清 垂直居中android:layout_centerVertical
對齊:與父容器左邊界對齊:android:layout alignParentLeft
與父容器右邊界對齊:android:layout alignParentRight
與父容器的頂部對齊android:layout_alignParentTop
與父容器的底部對齊android:layout_alignParentBottom
相對於兄弟視圖控制項: (位置): 顯示在ID為but_id的左側android:layout_toLeftOf
顯示在ID為but_id的右側android:layout_toRightOf
顯示在ID為but_id的上方android:layout_above
亮枯察 顯示在ID為but_id的下方android:layout_below
對齊: 與ID為but_id的左側對齊android:layout_alignLeft
與ID為but_id的右側對齊android:layout_alignRight
與ID為but_id的頂部對齊android:layout_alignTop
與ID為but_id的底部對齊android:layout_alignBottom
3、絕對布局
只能在AbsoluteLayout中使用,再要操作的類中使用android:layout_y,android:layout_x
4、幀布局
只能在FrameLayout中使用,使用 View(並列),可以大套小
5、表格布局
在TableLayout類中使用TableRow(行),Button(格)在其TableRow(行)中。
6、網格布局
在GridLayout類中使用Button直接寫入,
在類屬性中添加android:rowCount="5"(5行),或android:columnCount="4"(4列)
在常見的網頁中大部分為線性布局