• Android Video Tutorials

Android相對佈局



Android RelativeLayout允許您指定子檢視相對於彼此的定位方式。每個檢視的位置可以相對於兄弟元素或相對於父元素來指定。

Relative

相對佈局

RelativeLayout屬性

以下是RelativeLayout特有的重要屬性:

序號 屬性及描述
1

android:id

這是唯一標識佈局的ID。

2

android:gravity

這指定了物件應如何在其內容上定位,在X軸和Y軸上。可能的值包括頂部、底部、左側、右側、居中、垂直居中、水平居中等。

3

android:ignoreGravity

這指示哪個檢視不受重力影響。

使用RelativeLayout,您可以透過右邊界對齊兩個元素,或者使一個元素位於另一個元素的下方,居中在螢幕上,居中左側等等。預設情況下,所有子檢視都繪製在佈局的左上角,因此您必須使用RelativeLayout.LayoutParams提供的各種佈局屬性和以下列出的一些重要屬性來定義每個檢視的位置:

序號 屬性及描述
1

android:layout_above

將此檢視的底部邊緣置於給定錨檢視ID的上方,並且必須是對另一個資源的引用,格式為“@[+][package:]type:name”。

2

android:layout_alignBottom

使此檢視的底部邊緣與給定錨檢視ID的底部邊緣匹配,並且必須是對另一個資源的引用,格式為“@[+][package:]type:name”。

3

android:layout_alignLeft

使此檢視的左邊緣與給定錨檢視ID的左邊緣匹配,並且必須是對另一個資源的引用,格式為“@[+][package:]type:name”。

4

android:layout_alignParentBottom

如果為true,則使此檢視的底部邊緣與父級的底部邊緣匹配。必須是布林值,“true”或“false”。

5

android:layout_alignParentEnd

如果為true,則使此檢視的末端邊緣與父級的末端邊緣匹配。必須是布林值,“true”或“false”。

6

android:layout_alignParentLeft

如果為true,則使此檢視的左邊緣與父級的左邊緣匹配。必須是布林值,“true”或“false”。

7

android:layout_alignParentRight

如果為true,則使此檢視的右邊緣與父級的右邊緣匹配。必須是布林值,“true”或“false”。

8

android:layout_alignParentStart

如果為true,則使此檢視的起始邊緣與父級的起始邊緣匹配。必須是布林值,“true”或“false”。

9

android:layout_alignParentTop

如果為true,則使此檢視的頂部邊緣與父級的頂部邊緣匹配。必須是布林值,“true”或“false”。

10

android:layout_alignRight

使此檢視的右邊緣與給定錨檢視ID的右邊緣匹配,並且必須是對另一個資源的引用,格式為“@[+][package:]type:name”。

11

android:layout_alignStart

使此檢視的起始邊緣與給定錨檢視ID的起始邊緣匹配,並且必須是對另一個資源的引用,格式為“@[+][package:]type:name”。

12

android:layout_alignTop

使此檢視的頂部邊緣與給定錨檢視ID的頂部邊緣匹配,並且必須是對另一個資源的引用,格式為“@[+][package:]type:name”。

13

android:layout_below

將此檢視的頂部邊緣置於給定錨檢視ID的下方,並且必須是對另一個資源的引用,格式為“@[+][package:]type:name”。

14

android:layout_centerHorizontal

如果為true,則在此檢視的父級內水平居中此子檢視。必須是布林值,“true”或“false”。

15

android:layout_centerInParent

如果為true,則在此檢視的父級內水平和垂直居中此子檢視。必須是布林值,“true”或“false”。

16

android:layout_centerVertical

如果為true,則在此檢視的父級內垂直居中此子檢視。必須是布林值,“true”或“false”。

17

android:layout_toEndOf

將此檢視的起始邊緣定位到給定錨檢視ID的末尾,並且必須是對另一個資源的引用,格式為“@[+][package:]type:name”。

18

android:layout_toLeftOf

將此檢視的右邊緣定位到給定錨檢視ID的左側,並且必須是對另一個資源的引用,格式為“@[+][package:]type:name”。

19

android:layout_toRightOf

將此檢視的左邊緣定位到給定錨檢視ID的右側,並且必須是對另一個資源的引用,格式為“@[+][package:]type:name”。

20

android:layout_toStartOf

將此檢視的末端邊緣定位到給定錨檢視ID的起始位置,並且必須是對另一個資源的引用,格式為“@[+][package:]type:name”。

示例

本例將引導您完成簡單的步驟,展示如何使用相對佈局建立您自己的Android應用程式。請按照以下步驟修改我們在“HelloWorld示例”章節中建立的Android應用程式:

步驟 描述
1 您將使用Android Studio IDE建立一個Android應用程式,並在com.example.demo包下將其命名為demo,如“HelloWorld示例”章節中所述。
2 修改res/layout/activity_main.xml檔案的預設內容,以在相對佈局中包含一些小部件。
3 res/values/strings.xml檔案中定義所需的常量。
4 執行應用程式以啟動Android模擬器並驗證對應用程式所做更改的結果。

以下是修改後的主活動檔案src/com.example.demo/MainActivity.java的內容。此檔案可以包含每個基本生命週期方法。

package com.example.demo;

import android.os.Bundle;
import android.app.Activity;

public class MainActivity extends Activity {
   @Override
   protected void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.activity_main);
   }
   
}

以下是res/layout/activity_main.xml檔案的內容:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
   android:layout_width="fill_parent"
   android:layout_height="fill_parent"
   android:paddingLeft="16dp"
   android:paddingRight="16dp" >
   
   <EditText
      android:id="@+id/name"
      android:layout_width="fill_parent"
      android:layout_height="wrap_content"
      android:hint="@string/reminder" />
      
   <LinearLayout
      android:orientation="vertical"
      android:layout_width="fill_parent"
      android:layout_height="fill_parent"
      android:layout_alignParentStart="true"
      android:layout_below="@+id/name">
      
      <Button
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:text="New Button"
         android:id="@+id/button" />
      
      <Button
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:text="New Button"
         android:id="@+id/button2" />
      
   </LinearLayout>

</RelativeLayout>

以下是res/values/strings.xml檔案的內容,用於定義兩個新的常量:

<?xml version="1.0" encoding="utf-8"?>
<resources>
   <string name="action_settings">Settings</string>
   <string name="reminder">Enter your name</string>
</resources>

讓我們嘗試執行我們剛剛修改的Hello World!應用程式。我假設您在進行環境設定時已經建立了AVD。要從Android Studio執行應用程式,請開啟專案的活動檔案之一,然後單擊工具欄中的執行Eclipse Run Icon圖示。Android Studio將應用程式安裝到您的AVD並啟動它,如果您的設定和應用程式一切正常,它將顯示以下模擬器視窗:

Android RelativeLayout
android_user_interface_layouts.htm
廣告
© . All rights reserved.