Android布局之LinearLayout線性布局_Android

來源:互聯網
上載者:User

LinearLayout是線性布局控制項:要麼橫向排布,要麼豎向排布

常用屬性:

android:gravity------------設定的是控制項自身上面的內容位置

android:layout_gravity-----設定控制項本身相對於父控制項的顯示位置

android:layout_weight----- 給控制項分配剩餘空間

先給大家展示一下導圖:


知識點詳解(示範效果方便組件沒有設定id)

(1)gravity和Layout_gravity

android:gravity 屬性是對該view中內容的限定.比如一個button 上面的text. 你可以設定該text 相對於view的靠左,靠右等位置.

android:layout_gravity是用來設定該view相對與父view 的位置.比如一個button 在linearlayout裡,你想把該button放在linearlayout裡靠左、靠右等位置就可以通過該屬性設定.

(2)weight權重(以水平為例)

  (a)當width = 0或者 width = wrap_content的時候,按照權重比例計算!:2: 3

<?xml version="1.0" encoding="utf-8"?><LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="horizontal"><TextViewandroid:id="@+id/text1" android:layout_width="0dp"android:layout_height="match_parent"android:layout_weight="1"android:background="@android:color/holo_red_dark"android:text="Text1"/><TextViewandroid:id="@+id/text2"android:layout_width="0dp"android:layout_height="match_parent"android:layout_weight="2"android:background="@android:color/holo_blue_bright"android:text="Text2"/><TextViewandroid:id="@+id/text3"android:layout_width="0dp"android:layout_height="match_parent"android:background="@android:color/white"android:layout_weight="3"android:text="Text3"/></LinearLayout> 

  (b)當width = fill_parent/match_parent的時候

    第一步:當三個都為match_parent的時候螢幕只有一個 1 -3 = -2;

    第二步:計算每個TextView佔有的比例 1/6,2/6,3/6;

    第三步: 1 -2*1/6 = 2/3; 1 - 2*2/6 = 1/3; 1 - 2*3/6 = 0;

    第四步:2:1:0

<?xml version="1.0" encoding="utf-8"?><LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="horizontal"><TextViewandroid:id="@+id/text1"android:layout_width="match_parent"android:layout_height="match_parent"android:layout_weight="1"android:background="@android:color/holo_red_dark"android:text="Text1"android:gravity="center"android:textSize="40sp"/><TextViewandroid:id="@+id/text2"android:layout_width="match_parent"android:layout_height="match_parent"android:layout_weight="2"android:background="@android:color/holo_blue_bright"android:text="Text2"android:gravity="center"android:textSize="40sp"/><TextViewandroid:id="@+id/text3"android:layout_width="match_parent"android:layout_height="match_parent"android:background="@android:color/white"android:layout_weight="3"android:text="Text3"android:gravity="center"android:textSize="40sp"/></LinearLayout> 

(3)分割線

<Viewandroid:layout_marginLeft="20sp"android:layout_marginRight="20sp"android:layout_width="3"android:layout_height="match_parent" android:background="#ff00ee" /> 

案例(底部導航)

<?xml version="1.0" encoding="utf-8"?><LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="match_parent" android:orientation="horizontal"><LinearLayoutandroid:layout_width="match_parent"android:layout_height="80sp"android:layout_gravity="bottom"android:background="@android:color/holo_purple"><LinearLayoutandroid:layout_width="0sp"android:layout_height="match_parent"android:layout_weight="1"android:orientation="vertical"android:gravity="center"><ImageViewandroid:layout_width="60dp"android:layout_height="60dp"android:src="@mipmap/ic_launcher"/><TextViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:text="one"android:textSize="20sp"/></LinearLayout><Viewandroid:layout_marginLeft="20sp"android:layout_marginRight="20sp"android:layout_width="3"android:layout_height="match_parent"android:background="#ff00ee" /><LinearLayoutandroid:layout_width="0sp"android:layout_height="match_parent"android:layout_weight="1"android:orientation="vertical"android:gravity="center"><ImageViewandroid:layout_width="60dp"android:layout_height="60dp"android:src="@mipmap/ic_launcher"/><TextViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:text="two"android:textSize="20sp"/></LinearLayout><Viewandroid:layout_marginLeft="20sp"android:layout_marginRight="20sp"android:layout_width="3"android:layout_height="match_parent"android:background="#ff00ee" /><LinearLayoutandroid:layout_width="0sp"android:layout_height="match_parent"android:layout_weight="1"android:orientation="vertical"android:gravity="center"><ImageViewandroid:layout_width="60dp"android:layout_height="60dp"android:src="@mipmap/ic_launcher"/><TextViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:text="three"android:textSize="20sp"/></LinearLayout></LinearLayout></LinearLayout>

以上內容給大家介紹了Android布局之LinearLayout線性布局的相關知識,希望大家喜歡。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.