codecamp

Android UI教程 - Android RelativeLayout

Android UI教程 - Android RelativeLayout


RelativeLayout允许您指定子视图如何相对于彼此定位。

考虑下面的main.xml文件:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
    android:id="@+id/RLayout"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    xmlns:android="http://schemas.android.com/apk/res/android" >

    <TextView
        android:id="@+id/lblComments"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Comments"
        android:layout_alignParentTop="true"
        android:layout_alignParentLeft="true" />

    <EditText
        android:id="@+id/txtComments"
           android:layout_width="fill_parent"
           android:layout_height="170px"
           android:textSize="18sp"
           android:layout_alignLeft="@+id/lblComments"
           android:layout_below="@+id/lblComments"
           android:layout_centerHorizontal="true" />
    <Button
           android:id="@+id/btnSave"
           android:layout_width="125px"
           android:layout_height="wrap_content"
           android:text="Save"
           android:layout_below="@+id/txtComments"
           android:layout_alignRight="@+id/txtComments" />

    <Button
           android:id="@+id/btnCancel"
           android:layout_width="124px"
           android:layout_height="wrap_content"
           android:text="Cancel"
           android:layout_below="@+id/txtComments"
           android:layout_alignLeft="@+id/txtComments" />
</RelativeLayout>

null

每个视图嵌入在 RelativeLayout 中具有使其能够与另一视图对齐的属性。

这些属性如下:

  • layout_alignParentTop
  • layout_alignParentLeft
  • layout_alignLeft
  • layout_alignRight
  • layout_below
  • layout_centerHorizontal

每个属性的值是视图的ID您正在引用。



例子

以下代码显示如何使用 RelativeLayout

布局xml

<RelativeLayout
  xmlns:android="http://schemas.android.com/apk/res/android"
  android:layout_width="fill_parent"
  android:layout_height="wrap_content"
  android:padding="5px">
  <TextView android:id="@+id/label"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="URL:"
    android:paddingTop="15px"/>
  <EditText
    android:id="@+id/entry"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_toRightOf="@id/label"
    android:layout_alignBaseline="@id/label"/>
  <Button
    android:id="@+id/ok"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_below="@id/entry"
    android:layout_alignRight="@id/entry"
    android:text="OK" />
  <Button
    android:id="@+id/cancel"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_toLeftOf="@id/ok"
    android:layout_alignTop="@id/ok"
    android:text="Cancel" />
</RelativeLayout>

Java代码

import android.app.Activity;
import android.os.Bundle;
/*from w  ww  .  jav  a 2 s .  c  o m*/
public class RelativeLayoutDemo extends Activity {
  @Override
  public void onCreate(Bundle icicle) {
    super.onCreate(icicle);
    setContentView(R.layout.main);
  }
}
null


Android UI教程 - Android LinearLayout
Android UI教程 - Android TableLayout
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }