按最大高度平均间隔LinearLayouts

时间:2012-02-08 09:16:27

标签: android android-layout

我在XML文件中定义了一个表行。 它包含3个“LinearLayout”一个在另一个之上: 我想看看这个:

|-------------------------------|
|                               |
|              a                |
|                               |
|                               |
|-------------------------------|
|                               |
|              b                |
|-------------------------------|
|                               |
|              c                |
|-------------------------------|

“问题”是LinearLayout“a”可能会扩展并处于不同的高度,而“b”和“c”始终处于相同的高度。

我会找到LinearLayout的最大高度,并将此高度强制为所有其他LinearLayout的高度,所以我会看到每一行:

|-------------------------------|
|                               |
|              a                |
|                               |
|                               |
|-------------------------------|
|                               |
|              b                |
|                               |
|                               |
|-------------------------------|
|                               |
|              c                |
|                               |
|                               |
|-------------------------------|

我尝试使用android:layout_weight但没有成功......

有什么想法吗?

2 个答案:

答案 0 :(得分:0)

我试图在一个例子中实现这个。 这是我做的:

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

        <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:background="#ff0000"
        >
           <TextView 
            android:layout_width="30dip"
            android:layout_height="wrap_content"
            android:text="hjadsh haksj hasjk haksj hjkas hkjas hjkas hkjas "
            android:textColor="#000000"
            />

    </LinearLayout>

        <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:background="#00ff00"
        ></LinearLayout>

        <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:background="#0000ff"
        ></LinearLayout>

</LinearLayout>

我在第一个布局中使用textview来表明它可以满足你的需要。 您还可以修复布局b&amp;的高度。 c通过设置layout_height:wrap_content

使它们具有固定的高度并改变布局a

您现在可以根据需要进行自定义。

答案 1 :(得分:0)

试试这个

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

    <LinearLayout
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_weight="1"  >  
    </LinearLayout>

    <LinearLayout
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_weight="1"
    android:background="#00ffff"
    ></LinearLayout>

    <LinearLayout
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_weight="1" >
    ></LinearLayout>
</LinearLayout>