Android學習 布局

2021-10-19 22:21:16 字數 2866 閱讀 9431

linearlayout(線性布局)

relativelayout(相對布局)

tablelayout(**布局)

framelayout(幀布局)

absolutelayout(絕對布局)

gridlayout(網格布局)

weight(權重)屬性詳解

實現**

實現效果

按比例劃分水平方向:將涉及到的view的android:width屬性設定為0dp,然後設定為android weight屬性設定比例即可;類推,豎直方向,只需設android:height為0dp,然後設weight屬性即可!

relativelayout

元件屬性

父容器定位屬性示意圖

兄弟元件定位

所謂的兄弟元件就是處於同一層次容器的元件

圖中的元件1,2就是兄弟元件了,而元件3與元件1或元件2並不是兄弟元件,所以元件3不能通過 元件1或2來進行定位,比如layout_toleftof = "元件1"這樣是會報錯的!切記! 關於這個兄弟元件定位的最經典例子就是"梅花布局"了

//實現**

tablelayout

屬性圖

如何確定行數與列數

①如果我們直接往tablelayout中新增元件的話,那麼這個元件將佔滿一行!!!

②如果我們想一行上有多個元件的話,就要新增乙個tablerow的容器,把元件都丟到裡面!

③tablerow中的元件個數就決定了該行有多少列,而列的寬度由該列中最寬的單元格決定

④tablerow的layout_width屬性,預設是fill_parent的,我們自己設定成其他的值也不會生效!!! 但是layout_height預設是wrapten——content的,我們卻可以自己設定大小!

⑤整個**布局的寬度取決於父容器的寬度(佔滿父容器本身)

⑥有多少行就要自己數啦,乙個tablerow一行,乙個單獨的元件也一行!多少列則是看tablerow中 的元件個數,元件最多的就是tablelayout的列數

三個常用屬性

android:collapsecolumns:設定需要被隱藏的列的序號

android:shrinkcolumns:設定允許被收縮的列的列序號

android:stretchcolumns:設定執行被拉伸的列的列序號

以上這三個屬性的列號都是從0開始算的,比如shrinkcolunmns = 「2」,對應的是第三列!

可以設定多個,用逗號隔開比如"0,2",如果是所有列都生效,則用"*"號即可

除了這三個常用屬性,還有兩個屬性,分別就是跳格仔以及合併單元格,這和html中的table類似:

android:layout_column="2":表示的就是跳過第二個,直接顯示到第三個格仔處,從1開始算的!

android:layout_span="4":表示合併4個單元格,也就說這個元件佔4個單元格

framelayout

常用屬性

前景影象:永遠處於幀布局最上面,直接面對使用者的影象,就是不會被覆蓋的。

gridlayout

特點

屬性

幾乎不做使用,略過

Android布局學習

習慣了delphi vb等rad的拖放布局,使用android的布局管理器還真不習慣.例如要實現下面的介面布局 則需要如下設定 12 android layout width wrap content 3 android layout height wrap content 4 android or...

android布局學習 巢狀布局

採用巢狀的方式來實現複雜的布局,通過2個示例來介紹巢狀布局的方法。示例1 將activity介面分成上 下2部分,然後上部分是用橫向的 水平 布局,裡面有4個textview 下部分則是用縱向的 垂直 布局,也放有4個textview。要實現這樣的布局必須要使用到巢狀布局。實現步驟 1 首先,最外層...

android學習系列五 布局

linearlayout tablelayout的使用 巢狀的使用方法 relativelayout android layout below將該控制項置於給定id的控制項之下 android layout above將該控制項置於給定id的控制項之上 android layout toleftof...