Android RelativeLayout - 如何定位?

时间:2011-12-13 22:17:32

标签: android android-layout

我想要一个像这样的布局: Desired layout

但我的代码不起作用。我无法实现这种布局,我不知道到目前为止我做了什么有什么问题。

这是我到目前为止 - layout_gravity好吗?或者是否需要在RelativeLayout

中进行设置
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_height="fill_parent" 
    android:layout_width="fill_parent">

    <RelativeLayout     
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:orientation="vertical">

        <TextView
            android:id="@+id/topText"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textSize="20dip"
            android:layout_gravity="top" />

        <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
            android:id="@+id/centerLayout"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:orientation="horizontal"
            android:layout_below="@id/topText">     

            <ImageButton
                android:id="@+id/lektionBackButton"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"

                android:src="@drawable/back"
                android:layout_gravity="left"/>  
            <ImageView
                android:id="@+id/centerImage"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:cropToPadding="true"
                android:layout_gravity="center"/>
            <ImageButton 
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:id="@+id/lektionForwardButton"
                android:src="@drawable/forward"
                android:layout_gravity="right"/>        
         </LinearLayout>    

         <TextView
            android:id="@+id/bottomText"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textSize="20dip"
            android:layout_below="@id/centerLayout"
            android:layout_gravity="bottom" />
    </RelativeLayout>
</RelativeLayout>

3 个答案:

答案 0 :(得分:15)

您根本不需要使用重力或内部LinearLayout。而是在孩子身上使用layout_alignParentToplayout_alignParentLeftlayout_alignParentRightlayout_alignParentBottomlayout_centerInParentlayout_centerVertical

通过RelativeLayout tutorial

可能对您有用

答案 1 :(得分:2)

只有涉及到相对布局时,才能在Eclipse编辑器中切换到图形布局并拖动和设置属性。一切只用你的鼠标。但是,任何其他布局都无法做到这一点。希望有所帮助。

答案 2 :(得分:-2)

RelativeLayoutViewGroup,用于在相对位置显示子视图。可以将每个视图的位置指定为相对于同级元素(例如,相对于另一个视图的左侧或下方),或者相对于父级RelativeLayout区域的位置(例如,与底部,左侧或中心对齐) )。

官方Android Developer Click.

RelativeLayout Video link.