Android 佈局
View與ViewGroup和佈局管理器之間的關係:
其中佈局管理器包括:線性佈局、表格佈局、幀佈局、相對佈局、絕對佈局。所有佈局都可當成容器類使用。
線性佈局(LinearLayout是表格佈局TableLayout的父類):
控制個元件之間的位置關係(對齊方式:android:gravity(多組選擇以"|"分隔),排列方式:android:orientation)
表格佈局(TableLayout):
主要先定義表格佈局,然後通過TableRow來控制行的內容(例如,一個表格佈局可以新增兩行,每一行可以用TableRow進行行內容的控制。向某一行中新增3個Button元件,則表示該行有三列)
表格佈局的XML屬性有:
android:collapseColumns="1" 表示2列的所有單元格會被隱藏;
android:shrinkColumns="1,2" 表示2,3列的所有單元格的寬度可以被收縮,以保證該表格適應父容器的寬度;
android:stretchColumns表示列的所有單元格的寬度可以被收縮,以保證元件能完全填滿該表格空餘空間。
幀佈局(FrameLayout):
為每一個加入其中的元件建立一個空白的區域(稱為一幀),這些幀會根據gravity屬性進行自動對齊。
當我們往裡面新增控制元件的時候,會預設把他們放到這塊區域的左上角,而這種佈局方式卻沒有任何的定位方式,所以它應用的場景並不多;幀佈局的大小由控制元件中最大的子控制元件決定,如果控制元件的大小一樣大的話,那麼同一時刻就只能看到最上面的那個元件!後續新增的控制元件會覆蓋前一個!雖然預設會將控制元件放置在左上角,但是我們也可以通過layout_gravity屬性,指定到其他的位置。
兩個屬性:
- android:foreground:設定改幀佈局容器的前景影像
- android:foregroundGravity:設定前景影像顯示的位置
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/FrameLayout1"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity"
android:foreground="@drawable/logo"
android:foregroundGravity="right|bottom">
<TextView
android:layout_width="200dp"
android:layout_height="200dp"
android:background="#FF6143" />
<TextView
android:layout_width="150dp"
android:layout_height="150dp"
android:background="#7BFE00" />
<TextView
android:layout_width="100dp"
android:layout_height="100dp"
android:background="#FFFF00" />
</FrameLayout>
相對佈局(RelativeLayout):
a)相對佈局是指通過當前控制元件與兄弟控制元件或是父控制元件之間的相對位置,從而達到控制控制元件位置的目的。
b)相對佈局的基本思路,預設控制元件位置是左上角,如果有第二個控制元件,沒有指定第二個控制元件的位置那麼它預設也是左上角。會重疊;
如果第二個控制元件的位置相對於第一個控制元件位置擺放,好處是如果第一個控制元件的位置由於某種原因出現變化而第二個控制元件的位置相對於第一個控制元件的相對位置是不會變化的。
主要功能是通過內部類LayoutParams的XML屬性來控制該子元件與佈局容器的對齊或相對位置:
下面的值只能設為布林值:
下面的值只能設為其他UI元件的ID:
絕對佈局(AbsoluteLayout):定義座標(layout_x和layout_y確定子元件的座標)
相關文章
- Android佈局概述Android
- Android xml 佈局AndroidXML
- Android中常見的佈局和佈局引數Android
- android佈局------RelativeLayout(相對佈局)詳解Android
- android筆記二(水平佈局與垂直佈局)Android筆記
- Android學習—— Android佈局Android
- Android 佈局優化Android優化
- android 介面佈局(大概)Android
- Android佈局優化技巧Android優化
- Android之TableLayout(表格佈局)Android
- Android的佈局介紹Android
- android:四種基本佈局Android
- Android之佈局屬性Android
- Android GUI之View佈局AndroidGUIView
- Android響應式佈局Android
- android佈局屬性大全Android
- android佈局改變動畫Android動畫
- Android入門教程 | UI佈局之RelativeLayout 相對佈局AndroidUI
- 寫給 Android 開發的小程式佈局指南,Flex 佈局!AndroidFlex
- android 相對佈局,程式碼建立imageview,佈局居中問題AndroidView
- 關於Android中xml佈局檔案之android 入門xml佈局檔案AndroidXML
- Android入門教程 | UI佈局之LinearLayout 線性佈局AndroidUI
- Android的四個基本佈局Android
- Android開發之常用佈局Android
- android --巧用 flexboxLayout 佈局AndroidFlex
- Android效能優——佈局優化Android優化
- Android 自定義氣泡佈局Android
- Android佈局檢測優化Android優化
- Android 佈局小技巧彙總Android
- Android中佈局的優化Android優化
- Android 佈局優化之includeAndroid優化
- Android 佈局屬性詳解Android
- android:TableLayout表格佈局詳解Android
- 第五章:Android佈局Android
- Android動態改變佈局Android
- CSS佈局 --- 居中佈局CSS
- css佈局-float佈局CSS
- 居中佈局、三欄佈局