相對佈局RelativeLayout 網格佈局GridLayout
阿新 • • 發佈:2018-11-11
1.1 相對佈局視窗內子元件的位置總是相對兄弟元件、父容器來決定的,因此叫相對佈局
1.2 id型
@+id和@id的區別
@+id/x1(新增新ID)
@id/x1(引用此ID)
相對於指定元素(根據ID指定)
1.3 layout_toRightOf,layout_toLeftOf(是一種靠攏動作)
例項:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="270dp" android:layout_height="160dp" tools:context=".MainActivity"> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="按鈕1" android:id="@+id/btn_main_blue" /> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentRight="true" android:text="按鈕2" /> <Button android:id="@+id/btn_main_blue2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerInParent="true" android:text="按鈕3" /> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentBottom="true" android:text="按鈕4" /> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_toRightOf="@id/btn_main_blue2" android:layout_alignParentBottom="true" android:text="按鈕5" /> </RelativeLayout>
效果如下
2. 網格佈局
2.1 常用屬性
GridLayout佈局相關屬性:rowCount、columnCount
GridLayout中子控制元件相關屬性:layout_gravity=“fill_horizontal|fill_vertical”
2.2 Space標籤的作用:擋住控制元件,讓其不超出網格的範圍
<?xml version="1.0" encoding="utf-8"?> <GridLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:rowCount="5" android:columnCount="4" tools:context=".MainActivity"> <Button android:layout_height="wrap_content" android:layout_width="wrap_content" android:text="1" /> <Button android:layout_height="wrap_content" android:layout_width="wrap_content" android:text="2" /> <Button android:layout_height="wrap_content" android:layout_width="wrap_content" android:text="3" /> <Button android:layout_height="wrap_content" android:layout_width="wrap_content" android:text="/" /> <Button android:layout_height="wrap_content" android:layout_width="wrap_content" android:text="4" /> <Button android:layout_height="wrap_content" android:layout_width="wrap_content" android:text="5" /> <Button android:layout_height="wrap_content" android:layout_width="wrap_content" android:text="6" /> <Button android:layout_height="wrap_content" android:layout_width="wrap_content" android:text="×" /> <Button android:layout_height="wrap_content" android:layout_width="wrap_content" android:text="7" /> <Button android:layout_height="wrap_content" android:layout_width="wrap_content" android:text="8" /> <Button android:layout_height="wrap_content" android:layout_width="wrap_content" android:text="9" /> <Button android:layout_height="wrap_content" android:layout_width="wrap_content" android:text="-" /> <Button android:layout_height="wrap_content" android:layout_width="wrap_content" android:layout_gravity="fill_horizontal" android:layout_columnSpan="2" android:text="0" /> <Button android:layout_height="wrap_content" android:layout_width="wrap_content" android:text="." /> <Button android:layout_height="wrap_content" android:layout_width="wrap_content" android:layout_rowSpan="2" android:layout_gravity="fill_vertical" android:text="+" /> <Button android:layout_height="wrap_content" android:layout_width="wrap_content" android:layout_columnSpan="3" android:layout_gravity="fill_horizontal" android:text="=" /> <Space /> </GridLayout>
效果如下: