嵌套视图的RelativeLayout规则

时间:2013-05-02 10:17:31

标签: android android-layout relativelayout android-xml

我遇到了一个我不知道如何解决的问题。 我会用一个简单的例子来描绘它。

这是我的布局XML:

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

    <FrameLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginLeft="50dp"
        android:layout_marginTop="120dp" >

        <View
            android:id="@+id/ttt"
            android:layout_width="200dp"
            android:layout_height="200dp"
            android:background="@color/whiteish" />
    </FrameLayout>

    <View android:layout_below="@+id/ttt"
        android:layout_width="30dp"
        android:layout_height="10dp"
        android:background="@color/facebook_gradient_high" >
    </View>

</RelativeLayout>

结果:

Result

小的蓝色矩形不位于大白方块下方。我发现这种情况发生了,因为白方不是RelativeLayout的直接孩子。但是我想达到预期的效果。我该怎么做?

编辑: 我还尝试在不使用View的情况下将边距直接应用于FrameLayout。这也不会产生预期的结果,因为我不希望在相对于它定位其他视图时考虑边距

1 个答案:

答案 0 :(得分:0)

给你的FrameLayout一个像

的id
android:id="@+id/framelayout"

并将您的蓝色矩形放在大白像下面

android:layout_below="@+id/framelayout"

编辑: 为了清楚你想要这个作为期望的结果吗?

enter image description here