人。 我正在尝试为包含4个不同片段,列表片段和三个与细节相关的片段的活动编写布局。我试着让它看起来像下图
使用LinearLayout,我可以得到列表片段和细节区域之间的30/70比率(其他三个片段应该是)。但是,当处理这三个片段时,我真的不知道如何将它们保持在我期望它们的比例之内,因为你不能使用weightSum属性嵌套布局。
我一直在尝试使用RelativeLayouts,但不想使用'wrap_content'值,因为有些内容比其他内容更大,因此打破了我想要实现的外观。
有办法做到这一点吗?我知道TableLayouts,但是AFAIK它们就像HTML表格:用于数据的东西,而不是布局工具......
答案 0 :(得分:13)
嵌套权重应该可以正常工作,我已经使用了几次,尽管eclipse显示了一个暗示“嵌套权重对性能不利”。
你应该尝试类似的东西:
<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)以及第二级布局的onw中的另一个两个布局,分割该布局70/30(fragment_b和fragment_c)中的空间:)
希望它有所帮助!
答案 1 :(得分:0)
为什么不尝试:
<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>
我没有测试它(现在没有测试我的Eclipse版本空间),但这应该可以解决问题......