Android布局:如何避免嵌套的权重?

家伙。 我试图编写一个包含4个不同的片段,一个列表片段和三个细节相关片段的活动的布局。 我试图让它看起来像下图 在这里输入图像说明

使用LinearLayout,我可以得到列表片段和详细区域(其他三个片段应该是的位置)之间的30/70比率。 但是,当处理这三个片段时,我真的不知道如何将它们保持在我期望它们的比例之内,因为您不能使用weightSum属性来嵌套布局。

我一直在使用RelativeLayouts,但不想用'wrap_content'值,因为一些内容比其他内容更大,打破了我试图实现的外观。

有没有办法做到这一点? 我知道TableLayouts,但AFAIK他们就像HTML表格:用于数据,而不是作为布局工具…

Solutions Collecting From Web of "Android布局:如何避免嵌套的权重?"

嵌套的权重应该工作得很好,我已经使用了几次,虽然日食显示一个提示,告诉“嵌套的权重是坏的performance”。

你应该尝试这样的:

<LinearLayout android:id="@+id/main_layout" android:layout_height="match_parent" android:layout_width="match_parent" android:weightSum="1" android:orientation="horizontal"> <LinearLayout android:id="@+id/layout_fragment_a" android:layout_height="match_parent" android:layout_width="0dp" android:layout_weight="0.5"/> <LinearLayout android:id="@+id/layout_container_b_c" android:layout_height="match_parent" android:layout_width="0dp" android:layout_weight="0.5" android:weightSum="1" android:orientation="vertical"> <LinearLayout android:id="@+id/layout_fragment_b" android:layout_height="0dp" android:layout_width="match_parent" android:layout_weight="0.7"/> <LinearLayout android:id="@+id/layout_fragment_c" android:layout_height="0dp" android:layout_width="match_parent" android:layout_weight="0.3"/> </LinearLayout> </LinearLayout> 

这就是我其他时间做这件事的方式。 xml可能会有一些失败和错别字(现在在响应框中写入:P),但它应该可以帮助您获得这样的想法:一个主要布局(main_layout)使用全部空间并包含两个二级布局,每个布局宽度为50% fragment_a和container_b_C)以及第二层布局中的另一个拖拽布局将该布局中的空间分割为70/30(fragment_b和fragment_c):)

希望能帮助到你!

为什么不尝试:

 <LinearLayout android_width="30.0" android_height="fill_parent"/> <LinearLayout android_width="50.0" android_height="fill_parent"/> <LinearLayout android_width="50.0" android_height="fill_parent"> <LinearLayout android_width="fill_parent" android_height="70.0"/> <LinearLayout android_width="fill_parent" android_height="30.0"/> </LinearLayout> 

我没有testing它(现在不是在我的Eclipse中),但是这个应该可以做到。