拉伸和填充中间布局Android

时间:2015-08-05 12:41:22

标签: android layout autofill stretch autosize

我有一个主要相对布局(高度,宽度=填充父级),里面有3个布局:

1st: Frame Layout(width=fill_parent/height=wrap_content)
2nd: Linear Layout(width=fill_parent/height=wrap_content/layoutbelow 1st)
3rd: Relative Layout(height=wrap_content/width=fill parent/layout_alignParentBottom="true"/ layoutbelow 2nd)

我希望第3个布局位于屏幕的底部,第1个布局位于屏幕顶部,第2个布局填充其间的空间。我该怎么做呢?我按照以下链接:Android LinearLayout fill-the-middle并尝试设置layout_height =“0px”和layout_weight =“1”,但它不起作用。有人可以帮我这个吗?

由于

2 个答案:

答案 0 :(得分:4)

试试这个:

1st:Frame Layout(width = fill_parent / height = wrap_content)

2nd:Linear Layout(width = fill_parent / height = wrap_content / layoutbelow 1st / layoutabove 3rd)

3rd:Relative Layout(height = wrap_content / width = fill parent / layout_alignParentBottom =" true")

例如:

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

    <Button
        android:id="@+id/btnButton1"
        android:layout_height="wrap_content"
        android:layout_width="fill_parent"
        android:text="1"/>

    <Button
        android:id="@+id/btnButton2"
        android:layout_height="wrap_content"
        android:layout_width="fill_parent"
        android:text="2"
        android:layout_below="@+id/btnButton1"
        android:layout_above="@+id/btnButton3"/>

    <Button
        android:id="@+id/btnButton3"
        android:layout_height="wrap_content"
        android:layout_width="fill_parent"
        android:text="3"
        android:layout_alignParentBottom="true"/>

</RelativeLayout>

Screenshot

答案 1 :(得分:3)

IIRC RelativeLayout不支持layout_weight。

所以你需要这样的东西:

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">

    <FrameLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content" />

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="0px"
        android:layout_wight="1" />

    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content" />

</LinearLayout>