1. 程式人生 > >相對佈局RelativeLayout 網格佈局GridLayout

相對佈局RelativeLayout 網格佈局GridLayout

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>

效果如下:
在這裡插入圖片描述