使用边距的第一个子LinearLayout的RelativeLayout定位问题

时间:2013-09-05 10:47:18

标签: android android-linearlayout relativelayout margins

我目前正试图在屏幕上的绝对位置放置一些LinearLayouts(然后用一些图像填充)。目前,LinearLayouts位于父RelativeLayout的左上角,然后使用边距定位。这适用于所有子LinearLayouts,除了列表中的第一个。设置一些边距(例如左边距为25dp)在这种情况下不会显示任何效果。我希望有人有同样的问题,可以提供一些指导。

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/rl_page"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">

    <LinearLayout android:id="@+id/ll_first" android:layout_height="wrap_content" android:layout_width="wrap_content"
         android:layout_alignParentLeft="true" android:layout_alignParentTop="true" android:layout_marginLeft="25dp" android:layout_marginTop="20dp"></LinearLayout>

    <LinearLayout android:id="@+id/ll_second" android:layout_height="wrap_content" android:layout_width="wrap_content"
         android:layout_alignParentLeft="true" android:layout_alignParentTop="true" android:layout_marginLeft="175dp" android:layout_marginTop="30dp"></LinearLayout>

    <LinearLayout android:id="@+id/ll_third" android:layout_height="wrap_content" android:layout_width="wrap_content"
         android:layout_alignParentLeft="true" android:layout_alignParentTop="true" android:layout_marginLeft="40dp" android:layout_marginTop="140dp"></LinearLayout>

</RelativeLayout>

编辑: 示例图片http://i.stack.imgur.com/HuYjU.jpg

1 个答案:

答案 0 :(得分:0)

RelativeLayout提供了一些标记,用于相对于另一个View / ViewGroup定位Views / ViewGroup。

  • android:layout_below="id"android:layout_above="id"
    这会将视图置于另一个带有id的视图下方/上方。

  • android:layout_alignRightOf="id"android:layout_alignLeftOf="id"
    这将使视图位于具有id的另一个View的右侧/左侧。

所有标签都具有相同的可用性,我使用android:layout_below =“”将View / ViewGroup设置为另一个:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/rl_page"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">

    <--! YOUR LAYOUT AT THE TOP OF YOUR PARENT -->
    <LinearLayout 
         android:id="@+id/ll_first"
         android:layout_height="wrap_content" 
         android:layout_width="wrap_content"

         android:layout_alignParentLeft="true"
         android:layout_alignParentTop="true"></LinearLayout>

    <LinearLayout android:id="@+id/ll_second"
         android:layout_height="wrap_content" 
         android:layout_width="wrap_content"

         android:layout_below="@id/ll_first" ></LinearLayout>

    <LinearLayout 
         android:id="@+id/ll_third" 
         android:layout_height="wrap_content" 
         android:layout_width="wrap_content"

         android:layout_below="@id/ll_second"></LinearLayout>

</RelativeLayout>

现在,您可以使用一些边距作为每个视图的位置。