4

我有一个复杂的布局情况,其中一个水平线LinearLayout容纳了另外两个LinearLayouts。这些布局的内容是动态的,可以是任何类型的视图,并且在运行时从不同的独立源生成。

只要有足够的空间,我想同时显示它们,否则将它们限制为可用空间的 50%。所以我希望那些孩子在有足够空间LinearLayout的时候拥有,而在没有空间的时候。这意味着空间分布可以是10-90、25-75、60-40;当没有足够的空间来显示两个视图的全部内容时,它只会是 50-50。到目前为止,我还没有找到从 XML 执行此操作的方法,所以我正在从代码中执行此操作。我的问题是我可以只使用 XML 属性来实现我想要的吗?一种不同的布局可以做到吗?layout_width="wrap_content"layout_weight="0.5"

这是我当前的布局 XML:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:gravity="center_vertical"
    android:orientation="horizontal"
    android:padding="2dp" >

    <LinearLayout
        android:id="@+id/title_frame"
        android:layout_width="wrap_content"
        android:layout_height="48dp"/>

    <LinearLayout
        android:id="@+id/options_frame"
        android:layout_width="wrap_content"
        android:layout_height="48dp"/>

</LinearLayout>
4

3 回答 3

2

尝试这个。

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:gravity="center_vertical"
    android:orientation="horizontal"
    android:padding="2dp" >

    <LinearLayout
        android:id="@+id/title_frame"
        android:layout_width="wrap_content"
        android:layout_height="48dp" android:layout_weight="1">

    </LinearLayout>

    <LinearLayout
        android:id="@+id/options_frame"
        android:layout_width="wrap_content"
        android:layout_height="48dp" android:layout_weight="1">

    </LinearLayout>

</LinearLayout>

我用 textviews 尝试过,这应该可以根据要求工作。

于 2012-04-22T04:56:08.057 回答
1

这似乎无法仅使用 XML 属性来实现。

于 2012-05-20T23:30:55.230 回答
0

在使用 weight concept 时将 layout_width="wrap_content" 更改为 layout_width="fill_parent" 。

于 2012-04-22T03:41:46.157 回答