Android Layouts:如何避免嵌套权重?

前端之家收集整理的这篇文章主要介绍了Android Layouts:如何避免嵌套权重?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
家伙.
我正在尝试编写一个包含4个不同片段,一个列表片段和三个细节相关片段的活动的布局.我试着让它看起来像下图

使用LinearLayout,我可以得到列表片段和细节区域之间的30/70比例(其他三个片段应该是).然而,当处理这三个片段时,我真的不知道如何将它们保持在我期望的比例中,因为你不能用layoutsum属性嵌套布局.

我一直在尝试使用RelativeLayouts,但是不想使用“wrap_content”值,因为某些内容比其他内容更大,从而破坏了我正在尝试实现的外观.

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

解决方法

嵌套的权重应该是正常的,我已经使用了他们几次,虽然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:P),但它应该可以帮助你得到这个想法:一个主要的布局(main_layout)使用完整的空间,并且包含两个二级布局,每个宽度为50% fragment_a和container_b_C)以及第二层布局的onw中的另一个拖放布局分割该布局70/30(fragment_b和fragment_c)中的空格:)

猜你在找的Android相关文章