如何将中心放到相对布局的底部空间?

时间:2013-08-04 21:13:05

标签: android layout relativelayout

如何设计布局,使其占据相对布局的底部空间。

|--------------------------|
|                          |
|                          |
|                          |
|                          |
|                          |
|--------------------------|
|            |             |
|      this will be        |
|       content            |
|            |             |
|            |             |
|--------------------------|

<RelativeLayout>[another_layout should be here]</RelativeLayout>

所以 another_layout 将从RelativeLayout的中间开始,并填充到该布局的底部。

3 个答案:

答案 0 :(得分:4)

您可以将内容包装在线性布局中,该布局将位于相对布局中,然后设置android:layout_alignParentBottom =“true”。

答案 1 :(得分:2)

<RelativeLayout 
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >

    <!-- Invisible View that will hold the position -->
    <View
        android:id="@+id/stub"
        android:layout_width="0dp"
        android:layout_height="0dp"
        android:layout_centerInParent="true"/>

    <!-- Content below -->
    <TextView
        android:layout_below="@id/stub"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:text="@string/something" />

</RelativeLayout>

答案 2 :(得分:0)

RelativeLayout是你的顶级元素吗?如果是这样,为什么不使用带有layout_weight参数的LinearLayout,然后只选择RelativeLayout?这似乎比在中心的视图下面黑客攻击更符合逻辑。布局看起来像这样。

<LinearLayout
    xmlns:android="stuff"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">
    <RelativeLayout
        android:layout_height="0dp"
        android:layout_width="match_parent"
        android:layout_weight="1">
        <!-- All the stuff that would have been above the center before -->
    </RelativeLayout>
    <RelativeLayout
        android:layout_height="0dp"
        android:layout_width="match_parent"
        android:layout_weight="1">
        <!-- All the stuff that would have been below the center before -->
    </RelativeLayout>

IMO这是一个更清洁的解决方案