android基礎學習之布局,android基礎布局

來源:互聯網
上載者:User

android基礎學習之布局,android基礎布局

我學習android第一步接觸的就是布局的學習。布局是androidUI的基礎,是重中之重。總的來說android有6種布局,分別是線性布局LinearLayout、相對布局RelativeLayout、幀布局FrameLayout、絕對布局AbsoluteLayaout、表格版面配置TableLayout、網格布局GridLayout。我覺得開發過程中最常用的就是前三種,下面就來總結一下前三種布局的屬性。

線性布局LinearLayout:

android:orientation 設定線性布局的走向:水平(horizontal),垂直(vertical)
垂直線性布局:每一行只能放一個控制項,到底部放不下就會被擠出去,
水平線性布局:每一列只能放一個控制項,到右邊放不下就會被擠出去。
如果不設定該屬性 預設為水平。

控制項的寬高:
屬性:match_parent/fill_parent 填充父表單(fill_parent 已棄用)
wrap_content 包裹內容
絕對數字 例如150dp


background:設定背景顏色:

出現的位元: 3/4 6/8 ARGB (alpha(透明度) red green blue)

#00ffffff 完全透明
#ffffffff 完全不透明
#88ffffff 半透明

#fff 白色 ffffff
#000 黑色
#f00 紅色
#0f0 綠色
#00f 藍色
#ccc 灰色 333 666 999

屬性:
android:layout_gravity(內對外的請求) 用於控制項相對於外層容器的對齊
可選值:top, bottom, left(start),right(end),center_vertical垂直置中,center_horizontal水平置中,center水平垂直都置中。

注意:在垂直線性布局裡面:top, bottom,center_vertical 無效center 在垂直方向無效。

水平線性布局裡面: left(start),right(end),center_horizontal 無效,center在水平方向無效。

android:gravity(外對內的要求)控制視圖容器內容物的位置 和本身的水平垂直屬性不衝突

可選值:top, bottom, left(start),right(end),center_vertical垂直置中,center_horizontal水平置中,center水平垂直都置中。


layout_gravity:是定義控制項位置。
gravity:是定義控制項裡面的內容的位置。如果定義在布局中,則整體控制項按照其定義的位置放置。


權重:android:layout_weight 他是用於分配剩餘空間的屬性,
注意:
在水平方向設定權重:要把寬度設定為0dp ,
在垂直方向設定權重的時候要把 高度設定為0dp
如果設定wrap_content 會對權重有幹擾

 

相對布局RelativeLayout:

屬性主要分為四大類

1、相對於父元素:七個屬性:
是否讓控制項相對於父元素頂部對齊:android:layout_alignParentTop
是否讓控制項相對於父元素底部對齊:android:layout_alignParentBottom
是否讓控制項相對於父元素左邊對齊:android:layout_alignParentLeft
是否讓控制項相對於父元素右邊對齊:android:layout_alignParentRight
全置中 :centerInParent
水平置中:layout_centerHorizontal
垂直置中:layout_centerVertical

2、相對於兄弟元素  4個
layout_above; 指定在那個控制項的上側
layout_below 指定在那個控制項的下側
android:layout_toLeftOf layout_toStartOf 指定在那個控制項的左側,api版本17推薦使用

android:layout_toRightOf layout_toEndOf 指定在那個控制項的右側,api版本17推薦使用


3、相對於兄弟元素的對齊
layout_alignLeft 該控制項的左邊與指定控制項的左邊對齊
layout_alignRight 該控制項的右邊與指定控制項的右邊對齊
layout_alignTop 該控制項的上邊沿與指定控制項的上邊沿對齊
layout_alignBottom 該控制項的下邊沿與指定控制項的下邊沿對齊

4、間隔
paddingXXX 內邊距 (不指定方向,四周都有)
layout_marginXXX 外邊距 (不指定方向,四周都有)

 

幀布局FrameLayout:

幀布局主要用於片段fragment的主布局。

 

以上就是布局的學習內容,我認為痛點在於線性布局中的layout_gravity和gravity

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.