Android的四個基本佈局

山有木xi發表於2020-03-06

在Android中有四種基本佈局,可以放置很多控制元件的容器,按照一定的個一律調整控制元件的位置,從而編寫出精美的介面

1)線性佈局:LinearLayout

讓我們來看一段程式碼

<LinearLayout xmlns:android="
android:layout_width="match_parent"
android:layout_height="match_parent">
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
//android:layout_gravity="top"
android:text="Button1"/>
<Button
android:id="@+id/button2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
//android:layout_gravity="center_vertical"
android:text="Button2"/>
<Button
android:id="@+id/button3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
//android:layout_gravity="bottom"
android:text="Button3"/>
<LinearLayout/>

其中 orientation:vertical就是線性佈局中的垂直佈局

將其改為 orientation:horizantal就是線性佈局中的水平佈局

註釋符後的android:l ayout_gravity似乎看起來和android:gravity很像,實際上 android:gravity是用來控制文字的, 而 android:l ayout_gravity是用來控制控制元件的, 需要注意的是 android:l ayout_gravity只能在垂直佈局上用到,因為水平佈局中的長度是不固定的,每新增一個就加長 還有一個也很重要的屬性:android:layout_weight,這是用來比例控制控制元件大小 2)相對佈局:RelativeLayout

<RelativeLayout xmlns:android="
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:text="Button1"/>
<Button
android:id="@+id/button2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_alignParentTop="true"
android:text="Button2"/>
<Button
android:id="@+id/button3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:text="Button3"/>
<Button
android:id="@+id/button4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_alignParentBottom="true"
android:text="Button4"/>
<Button
android:id="@+id/button5"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentBottom="true"
android:text="Button5"/>
<RelativeLayout/>

這裡用到的是layout_alignParentTop,layout_alignParentBottm,layout_alignParentLeft,layout_alignParentRight和layout_centerInParent,他們的意思顯而易見

除此以外還有,layout_above,layout_below,layout_toLeftof,layout_toRightof

而layout_alignLeft,layout_alignRight,layout_alignTop,layout_alignBottom,則是利用邊緣對齊的方式控制控制元件 3)幀佈局:FrameLayout 它相比於其他兩個佈局就簡單多了,它沒有方便的定位方式,所有的控制元件都會顯示在左上角 4)百分比佈局:PercentFrameLayout以及PercentRelativelayout 其中有:app:layout_heightPercent, app:layout_widthPercent 而在實際程式設計中,會發現一個問題,就是如果頁面需要大量的重複控制元件,那麼難道我們要一個個,一遍遍寫嗎? Android為我們提供了,引入佈局的操作:<include layout="@layout/title"/>

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69917874/viewspace-2678867/,如需轉載,請註明出處,否則將追究法律責任。

相關文章