Kotlin?LinearLayout與RelativeLayout布局使用詳解
安卓的開發(fā)從布局開始。
安卓的界面編寫也是使用xml進(jìn)行布局的,一般如果熟悉了html界面的布局,那么很容易就能夠理解安卓有關(guān)的布局了,這里介紹兩個比較重要的布局方式:線性布局(LinearLayout)和相對布局(RelativeLayout)。
新建的功能布局,一般是一個界面對應(yīng)一個xml文件,main界面的xml在activity_main.xml 中。
線性布局LinearLayout
根據(jù)名字我們就很清楚,線性布局的意思了,相當(dāng)于html中的div層,兩種布局方向:
vertical 下的布局方式:

horizontal 下的布局方式:

vertical 布局代碼:
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:background="#00aaff" >
<Button
android:id = "@+id/btn1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:text="Button" />
<Button
android:id = "@+id/btn2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:text="Button" />
</LinearLayout>
horizontal 下的布局代碼:
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:background="#A6A7AF" >
<Button
android:id = "@+id/btn3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"
android:text="Button" />
<Button
android:id = "@+id/btn4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"
android:text="Button" />
</LinearLayout>
有幾個屬性需要熟悉一下:
- wrap_content 為按照控件內(nèi)容的大小進(jìn)行調(diào)整
- layout_marginLeft 為控件左邊的偏移,其他的一次類推
- layout_gravity 可以用來進(jìn)行控件居中顯示
- layout_weight 控件在horizontal模式下占到的比率
相對布局RelativeLayout
相對布局 主要兩種相當(dāng)模式,一種是父控件,一種是相對兄弟控件。

布局代碼如下:
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="300dp"
android:background="#9C27B0" >
<Button
android:id = "@+id/btn5"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_alignParentRight="true"
android:text="Button5" />
<Button
android:id = "@+id/btn6"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:text="Button6" />
<Button
android:id = "@+id/btn7"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:layout_below="@+id/btn6"
android:text="Button7" />
</RelativeLayout>
幾個重要的布局:
- layout_alignParentxxxx 相對于父類的情況
- layout_to 相對于兄弟的情況
項目在github的地址在這里。
小結(jié)
布局的方式比較多,但是這兩個種布局方式是最重要的,也可以這么說掌握了這兩種以后,其他的就可以依次類推,只要知道里面的屬性基本上就容易上手了。
到此這篇關(guān)于Kotlin LinearLayout與RelativeLayout布局使用詳解的文章就介紹到這了,更多相關(guān)Kotlin LinearLayout與RelativeLayout內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Android實用小技巧之利用Lifecycle寫出更好維護(hù)的代碼
lifecycle是一個類,用于存儲有關(guān)組件(如Activity或Fragment)的生命周期狀態(tài)的信息,并允許其他對象觀察此狀態(tài),下面這篇文章主要給大家介紹了關(guān)于Android實用小技巧之利用Lifecycle寫出更好維護(hù)的代碼的相關(guān)資料,需要的朋友可以參考下2022-05-05
利用Jetpack Compose實現(xiàn)經(jīng)典俄羅斯方塊游戲
你的童年是否有俄羅斯方塊呢,本文就來介紹如何通過Jetpack Compose實現(xiàn)一個俄羅斯方塊!感興趣的小伙伴快跟隨小編一起動手嘗試一下吧2022-05-05
在Android開發(fā)中替換資源圖片不起作用的解決方法
這篇文章主要介紹了在Android開發(fā)中替換資源圖片不起作用的解決方法,需要的朋友可以參考下2014-07-07
Android開發(fā)應(yīng)用中Broadcast Receiver組件詳解
本篇文章主要介紹了Android開發(fā)應(yīng)用中Broadcast Receiver組件詳解,想要學(xué)習(xí)的同學(xué)可以了解一下。2016-11-11
Android中findViewById獲取控件返回為空問題怎么解決
這篇文章主要介紹了Android中findViewById獲取控件返回為空問題怎么解決的相關(guān)資料,非常不錯,具有參考借鑒價值,需要的朋友可以參考下2016-06-06
Android 如何使用SQLite保存數(shù)據(jù)
對于重復(fù)數(shù)據(jù)或結(jié)構(gòu)化數(shù)據(jù)(例如聯(lián)系信息),將數(shù)據(jù)保存到數(shù)據(jù)庫是理想選擇,SQL 數(shù)據(jù)庫的主要原則之一是架構(gòu),即數(shù)據(jù)庫組織方式的正式聲明,本篇文章介紹在 Android 上使用 SQLite 數(shù)據(jù)庫,感興趣的朋友一起看看吧2024-03-03

