4

我想要一个视图来匹配其父级的高度,如下所示:

<RelativeLayout
    layout_height="wrap_content">

    <LinearLayout
        id="@+id/A"
        layout_height="wrap_content"
        layout_alignParentTop="true">
        ...
    </LinearLayout>

    <LinearLayout
        id="@+id/B"
        layout_height="match_parent"   <-- possible?
        layout_alignParentTop="true">
        ...
    </LinearLayout>

</RelativeLayout>

所以线性布局 A 会膨胀到 100dp。线性布局 B 膨胀到大约 50 dp 高。但我希望它与父母的高度相匹配,在这种情况下应该是 100dp 以容纳 A。有没有办法做到这一点?我的布局如上,但 B 没有延伸到 A 为父容器设置的全高。

谢谢

4

2 回答 2

6

所以,match_parent 替换了 fill_parent。我发现了这个由 Romain Guy 回答的问题。

结合父级的 wrap_content 和子级的 fill_parent

他说这不应该起作用,但他们使它适用于 LinearLayout,并且他最近使它适用于 Honeycomb 的 FrameLayout。

基于此,我推测这可能不适用于RelativeLayout?

尝试使用 LinearLayout 或 FrameLayout 而不是 RelativeLayout 看看是否可行?

编辑这是我所做的:

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

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

        <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            >
            <TextView  
                android:layout_width="match_parent" 
                android:layout_height="wrap_content" 
                android:text="@string/hello"
                />
        </LinearLayout>

        <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            >
            <Button 
                android:layout_height="match_parent"
                android:layout_width="match_parent"
                android:text="TEST"/>
        </LinearLayout>

    </FrameLayout>



</LinearLayout>

字符串的值:

<string name="hello">Hello World, Game! Hello World, Game! Hello World, Game! Hello World, Game! Hello World, Game! Hello World, Game! Hello World, Game! Hello World, Game! Hello World, Game! Hello World, Game! Hello World, Game! Hello World, Game! Hello World, Game! Hello World, Game! Hello World, Game! Hello World, Game! Hello World, Game! Hello World, Game! Hello World, Game! Hello World, Game! Hello World, Game! Hello World, Game! Hello World, Game! Hello World, Game! Hello World, Game! Hello World, Game! Hello World, Game! Hello World, Game! Hello World, Game! Hello World, Game!</string>
于 2012-09-20T18:20:48.723 回答
-1

Why don't you simply set alignParentTop & alignParentBottom to be true? It should work for you.

于 2015-03-20T15:40:32.667 回答