Android 保持相对身高尽可能小,但增加儿童身高以填满所有可用空间

Android 保持相对身高尽可能小,但增加儿童身高以填满所有可用空间,android,height,android-relativelayout,Android,Height,Android Relativelayout,My RelativeLayout包含几个不同高度的ImageView/TextView控件,例如20、70、35。控件排成一行。我希望它们将其高度扩展到与最大控制高度相同的值,例如70。问题是,在我的布局中,RelativeLayout容器和所有控件都扩展到屏幕高度 <RelativeLayout android:layout_width="fill_parent" android:layout_height="wrap_content"

My RelativeLayout包含几个不同高度的ImageView/TextView控件,例如20、70、35。控件排成一行。我希望它们将其高度扩展到与最大控制高度相同的值,例如70。问题是,在我的布局中,RelativeLayout容器和所有控件都扩展到屏幕高度

    <RelativeLayout 
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        >

        <ImageView 
            android:src="@drawable/image1" 
            android:background="#FFCCDDEE"
            android:layout_width="wrap_content" 
            android:layout_height="fill_parent"
            android:layout_centerVertical="true"
            android:layout_alignParentLeft="true"
            />

        <ImageView 
            android:src="@drawable/image2" 
            android:background="#FFCCDDEE"
            android:layout_width="wrap_content" 
            android:layout_height="fill_parent"
            android:layout_centerVertical="true"
            android:layout_centerInParent="true"
            />

        <ImageView 
            android:src="@drawable/image3" 
            android:background="#FFCCDDEE"
            android:layout_width="wrap_content" 
            android:layout_height="fill_parent"
            android:layout_centerVertical="true"
            android:layout_alignParentRight="true"
            />

    </RelativeLayout>

我可以把RelayayAUT的高度设置为70,但是考虑到我不知道前面的子控件大小。p> 我也可以使用LinearLayout达到预期效果,但我想使用RelativeLayout

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        >

        <ImageView 
            android:src="@drawable/image1" 
            android:background="#FFCCDDEE"
            android:layout_width="wrap_content" 
            android:layout_height="fill_parent"
            android:gravity="center_vertical"
            />

        <ImageView 
            android:src="@drawable/image2" 
            android:layout_width="wrap_content" 
            android:layout_height="fill_parent"
            android:gravity="center_vertical"
            />

        <ImageView 
            android:src="@drawable/image3" 
            android:layout_width="wrap_content" 
            android:layout_height="fill_parent"
            android:gravity="center_vertical"
            />

    </LinearLayout>


有什么想法吗?

你有没有想过使用填充/边距

<RelativeLayout 
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    >

    <ImageView 
        android:src="@drawable/image1" 
        android:background="#FFCCDDEE"
        android:layout_width="wrap_content" 
        android:layout_height="fill_parent"
        android:layout_centerVertical="true"
        android:layout_alignParentLeft="true"
        android:padding="70dip"
        />
    ....

....
该XML应该生成一个140 x 140的图像(我认为)。它不会是动态的,但是XML不能做这样的动态事情

如果您想做一些更具动态性的事情,您可以编写代码,将所有元素的大小都拉出来,找到最大的元素,然后将所有对象设置为该大小

这可能是有用的


祝你好运

也许您可以将线性布局放置在相对位置?