摘要:六大布局之簡介表格布局是將子分別排列成行和列的布局,是由許多對象組成的,表格布局以行列的形式管理子控件,每一個單元是一個或者對象。
前言
Hi,大家好,新的一周開始啦,讓我們繼續遨游在Android的知識海洋中吧!上一次我們講到了RelativeLayout,相信不少小伙伴已經著手實戰,那么今天我們為大家帶來六大布局中剩下的三個布局。本篇文章可以和前面的FrameLayout一同歸類到Android非常用布局之中,雖然不常用,但是小伙伴們也要知道它的一些基礎屬性哦~
六大布局之AbsoluteLayoutAbsoluteLayout(絕對布局), 之所以把這個放到最后,是因為絕對布局,我們基本上都是不會使用的,當然你也可以直接跳過這一 篇博文,不過作為一個喜歡增長姿勢的程序員,我們還是可以了解這個AbsoluteLayout布局的。放入該布局的UI控件通過android:layout_x 和 android:layout_y 兩個屬性指定其準確的坐標值,并顯示在屏幕上。
理論上,AbsoluteLayout布局可用以完成任何的布局設計,靈活性很大,但是在實際的工程應用中不提倡使用這種布局。因為使用這種布局不但需要精確計算每個組件的大小,增大運算量,而且當應用程序在不同屏幕尺寸的手機上運行時會產生不同效果。
AbsoluteLayout 的布局屬性就兩個:
android:layout_x : 設置控件在布局中的 X 軸方向距離。
android:layout_y : 設置控件在布局中的 Y 抽方向距離。
AbsoluteLayout 只有這個兩個屬性,從絕對布局的名字就可以看出來,就是在 X 軸方向和 Y 軸方向通過 dip值(或者 px ) 絕對固定距離。
在例子中顯示三個View。
從例子中可以得出下面結論:
寫在面布局View會覆蓋寫在上面的View。
在絕對定位中,如果子元素不設置layout_x和layout_y,那么它們的默認值是0。
六大布局之TableLayoutTableLayout(表格布局)是將子view分別排列成行和列的布局,TableLayout是由許多TableRow對象組成的,表格布局以行列的形式管理子控件,每一個單元是一個TableRow或者View對象。
在TableLayout中可以通過setConlumnShrinkable()或setConlumnStretchable()方法來指定某些列為可以縮小或可伸縮,列是從0開始計數的,第一列為0。
TableLayout 常用布局屬性:
stretchColumns 設置運行被拉伸的列的序號 ,如 android:stretchColumns="1,3"表示在第三列的和第四列的一起填補空白,如果要所有列一起填補空白,則用“*”符號,列號都是從0開始算的。
圖中按鈕2被拉伸來替補空白。
shrinkColumns設置被收縮的列的序號 ,收縮是用于在一行中列太多或者某列的內容文本過長,會導致某列的內容會被擠出屏幕,這個屬性是可以幫助某列的內容進行收縮,用于防止被擠出的。
圖中又在上面布局添加按鈕5,此時 android:shrinkColumns="1",按鈕2被收縮了。
collapseColumns設置需要被隱藏的列的序號 使用該屬性可以隱藏某列。
圖中在上面的布局中添加 android:collapseColumns="1" ,原來的按鈕2被隱藏了。
layout_column為該子類控件顯示在第幾列。android:layout_column="2"表示跳過第二個,直接顯示在第三個單元格內。
layout_span 為該子類控件占據第幾列。android:layout_span="3"表示合并3個單元格,就是這個組件將占據3個單元格。
六大布局之GridLayout 簡介GridLayout(網格布局)是在Android 4.0以后引入的一種新的布局模式,和表格布局是有點類似的,但比表格布局的好,功能也是很強大的,它可以設置布局有多少行和有多少列,也可以設置布局中的組件的排列方式,也可以設置組件的位置,橫跨多少行,多少列。
布局屬性android:orientation用于設置vertical豎直或horizontal水平。
android:layout_gravity為設置對齊方式,可以設置center,right,left等。
android:rowCount為可以設置行數,要多少行設置多少行,如android:rowCount="2"為設置網格布局有2行。
android:columnCount為可以設置列數,要多少列設置多少列,如android:columnCount="2"為設置網格布局有2列。
android:layout_row為設置組件位于第幾行,從0開始計數的,如android:layout_row="1"為設置組件在第2行。
android:layout_column為設置組件位于第幾列,從0開始計數的,如android:layout_column="1"為設置組件在第2列。
android:layout_rowSpan為設置組件橫跨幾行,如android:layout_rowSpan="2"為縱向橫跨2行。
android:layout_columnSpan為設置組件橫跨幾列,如android:layout_columnSpan="2"為橫向橫跨2列。
網格布局在實際應用中很少使用,一般都是通過系統提供的另個一個列表控件 RecyclerView。
結論線性布局: 指子控件以水平或垂直方式排列。
相對布局: 指子控件以控件之間的相對位置或子控件相對于父容器的位置排列。
幀布局: 指所有子控件均放在左上角且后面元素直接覆蓋在前面元素之上。
絕對布局: 指子控件通過絕對定位x,y位置來決定其位置擺放。
表格布局: 指以行列的形式放置子控件,每一行是一個TableRow對象或者View對象。
網格布局: 指以網格狀放置子控件,可以控制網格內部行、列個數。
結語以上就是本篇的全部內容,Android六大布局的基本使用也已經全部告訴大家,希望小伙伴們可以發揮你們的想象力,將不同的布局融合出來一個demo發給我們,我們會將效果非常炫的demo進行展示,歡迎小伙伴踴躍投稿~
PS:如果還有未看懂的小伙伴,歡迎加入我們的QQ技術交流群:892271582,里面有各種大神回答小伙伴們遇到的問題哦~
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/76186.html
摘要:舉例,有個第一層為公司,第二層為辦公室,第三層為工位,第四層是程序猿。若不設置的位置,則此四個文字都將默顯示在左上角,并且公司在最下面,程序猿在最上面。 前言 上一期我們給大家講解了LinearLayout,這一期我們為大家講解一下FrameLayout(幀布局)的使用,相較于其他布局,FrameLayout可以說的上是最簡單的一個,并且其使用范圍相對來說也相對較小,但是也是Andro...
摘要:什么是界面布局為應用程序提供界面架構。線性布局指子控件以水平或垂直方式排列,正如其名字一樣,這個布局中的所有控件在線性方向上依次排列。可以把布局看作是一個可以放置很多控件的容器,它可以按照一定的規律調整控件的位置,從而實現精美的界面。 1. 什么是Layout? Layout——界面布局,為應用程序提供界面架構。控制Activity中控件的大小、位置、顏色等屬性的方法. Layout...
摘要:前言上一期我們給大家講解了的使用,這一期我們為大家講解一下相對布局的使用,是的六大布局之一,也是我們常用的布局之一,下面我們一起開始學習吧簡介相對布局允許子元素指定它們相對于其父元素或兄弟元素的位置,這是實際布局中最常用的布局方式之一。 前言 上一期我們給大家講解了FrameLayout的使用,這一期我們為大家講解一下RelativeLayout(相對布局)的使用,RelativeLa...
閱讀 1127·2023-04-26 03:02
閱讀 1169·2023-04-25 19:18
閱讀 2589·2021-11-23 09:51
閱讀 2570·2021-11-11 16:55
閱讀 2620·2021-10-21 09:39
閱讀 1699·2021-10-09 09:59
閱讀 1997·2021-09-26 09:55
閱讀 3523·2021-09-26 09:55