Android 包裹加权线性布局

Android 包裹加权线性布局,android,android-linearlayout,Android,Android Linearlayout,我有一个父级LinearLayout,其中weightSum的值3和orientation=“horizontal”,它有六个子级RelativeLayouts都有width=“0dp”和layout\u weight=“1”,这样最后三个相对布局就环绕到下一行。但是前三个子相对布局正在显示,后三个子相对布局不在显示中,我想将它们包装到下一行 <LinearLayout android:layout_width="match_parent" android

我有一个父级
LinearLayout
,其中
weightSum
的值3
orientation=“horizontal”
,它有六个子级
RelativeLayouts
都有width=“0dp”和
layout\u weight=“1”
,这样最后三个相对布局就环绕到下一行。但是前三个子相对布局正在显示,后三个子相对布局不在显示中,我想将它们包装到下一行

 <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/row_wrap"
        android:orientation="horizontal"
        android:weightSum="3"
        >



    <!-- Mileage -->
    <RelativeLayout
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:id="@+id/milage_wrap"
        android:layout_weight="1"
        >

        <ImageView
        android:layout_width="20dp"
        android:layout_height="20dp"
        android:src="@drawable/ic_meter_car"
        android:id="@+id/milage_img"
        android:layout_alignParentStart="true" />

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignBaseline="@id/milage_img"
            android:layout_toEndOf="@+id/milage_img"
            android:text="32000"
            android:layout_marginStart="5dp"
            android:id="@+id/milage_txt"
            />



    </RelativeLayout>

<!-- transmission-->
    <RelativeLayout
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:id="@+id/transmission_wrap"
        android:layout_weight="1"

        >

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignBaseline="@+id/trans_img"
            android:layout_toEndOf="@+id/trans_img"
            android:text="32000"
            android:layout_marginStart="5dp"
            android:id="@+id/trans_txt"
            />

        <ImageView
            android:layout_width="20dp"
            android:layout_height="20dp"
            android:src="@drawable/ic_transmission_car"
            android:id="@+id/trans_img"
            android:layout_alignParentTop="true"
            android:layout_alignParentStart="true" />


    </RelativeLayout>

<!--Engine Size -->

    <RelativeLayout
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:id="@+id/engine_wrap"
        android:layout_weight="1"
        >

        <ImageView
            android:layout_width="20dp"
            android:layout_height="20dp"
            android:src="@drawable/ic_engine"
            android:id="@+id/engine_img"
            android:layout_alignParentStart="true" />

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignBaseline="@id/engine_img"
            android:layout_toEndOf="@+id/engine_img"
            android:text="32000"
            android:layout_marginStart="5dp"
            android:id="@+id/engine_txt"
            />

    </RelativeLayout>

        <!--condition -->
        <RelativeLayout
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:id="@+id/condition_wrap"
           android:layout_weight="1"
            >

            <ImageView
                android:layout_width="20dp"
                android:layout_height="20dp"
                android:src="@drawable/ic_condition"
                android:id="@+id/condition_img"
                android:layout_alignParentStart="true" />

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignBaseline="@id/condition_img"
                android:layout_toEndOf="@+id/condition_img"
                android:text="Good"
                android:layout_marginStart="5dp"
                android:id="@+id/condition_txt"
                />
        </RelativeLayout>

        <!-- fuel -->
        <RelativeLayout
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:id="@+id/fuel_type_wrap"
            android:layout_weight="1"
            >

            <ImageView
                android:layout_width="20dp"
                android:layout_height="20dp"
                android:src="@drawable/ic_fuel"
                android:id="@+id/fuel_type_img"
                android:layout_alignParentStart="true" />

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignBaseline="@id/fuel_type_img"
                android:layout_toEndOf="@+id/fuel_type_img"
                android:text="Diesel"
                android:layout_marginStart="5dp"
                android:id="@+id/fuel_type_txt"

                />

        </RelativeLayout>

        <!-- Fuel Consumption-->
        <RelativeLayout
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:id="@+id/fuel_cons_wrap"
            android:layout_weight="1"
            >

            <ImageView
                android:layout_width="20dp"
                android:layout_height="20dp"
                android:src="@drawable/ic_fuel_consumption"
                android:id="@+id/fuel_cons_img"
                android:layout_alignParentStart="true" />

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignBaseline="@id/fuel_cons_img"
                android:layout_toEndOf="@+id/fuel_cons_img"
                android:text="13/23"
                android:layout_marginStart="5dp"
                android:id="@+id/fuel_consump_txt"

                />

        </RelativeLayout>

    </LinearLayout>

编辑注释: 我不想将最后三个RelativeLayout包装在另一个线性布局中以将其移动到下一行,因为如果RelativeLayout的任何内容为空,我想将其可见性设置为“GONE”,以便它们可以更好地进行调整,而不会留下空的空间。

尝试这种方法

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:id="@+id/row_wrap"
    android:orientation="vertical"
    android:weightSum="2"
    >


<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:id="@+id/row_wrap"
    android:orientation="horizontal"
    android:layout_weight="1"
    android:weightSum="3"
    >

<!-- Mileage -->
<RelativeLayout
    android:layout_width="0dp"
    android:layout_height="wrap_content"
    android:id="@+id/milage_wrap"
    android:layout_weight="1"
    >

    <ImageView
    android:layout_width="20dp"
    android:layout_height="20dp"
    android:src="@drawable/ic_meter_car"
    android:id="@+id/milage_img"
    android:layout_alignParentStart="true" />

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignBaseline="@id/milage_img"
        android:layout_toEndOf="@+id/milage_img"
        android:text="32000"
        android:layout_marginStart="5dp"
        android:id="@+id/milage_txt"
        />



 </RelativeLayout>

  <!-- transmission-->
 <RelativeLayout
    android:layout_width="0dp"
    android:layout_height="wrap_content"
    android:id="@+id/transmission_wrap"
    android:layout_weight="1"

    >

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignBaseline="@+id/trans_img"
        android:layout_toEndOf="@+id/trans_img"
        android:text="32000"
        android:layout_marginStart="5dp"
        android:id="@+id/trans_txt"
        />

    <ImageView
        android:layout_width="20dp"
        android:layout_height="20dp"
        android:src="@drawable/ic_transmission_car"
        android:id="@+id/trans_img"
        android:layout_alignParentTop="true"
        android:layout_alignParentStart="true" />


 </RelativeLayout>

 <!--Engine Size -->

 <RelativeLayout
    android:layout_width="0dp"
    android:layout_height="wrap_content"
    android:id="@+id/engine_wrap"
    android:layout_weight="1"
    >

    <ImageView
        android:layout_width="20dp"
        android:layout_height="20dp"
        android:src="@drawable/ic_engine"
        android:id="@+id/engine_img"
        android:layout_alignParentStart="true" />

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignBaseline="@id/engine_img"
        android:layout_toEndOf="@+id/engine_img"
        android:text="32000"
        android:layout_marginStart="5dp"
        android:id="@+id/engine_txt"
        />

 </RelativeLayout>

 </LinearLayout>

 <LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:id="@+id/row_wrap"
    android:orientation="horizontal"
    android:layout_weight="1"
    android:weightSum="3"
    >

    <!--condition -->
    <RelativeLayout
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:id="@+id/condition_wrap"
       android:layout_weight="1"
        >

        <ImageView
            android:layout_width="20dp"
            android:layout_height="20dp"
            android:src="@drawable/ic_condition"
            android:id="@+id/condition_img"
            android:layout_alignParentStart="true" />

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignBaseline="@id/condition_img"
            android:layout_toEndOf="@+id/condition_img"
            android:text="Good"
            android:layout_marginStart="5dp"
            android:id="@+id/condition_txt"
            />
    </RelativeLayout>

    <!-- fuel -->
    <RelativeLayout
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:id="@+id/fuel_type_wrap"
        android:layout_weight="1"
        >

        <ImageView
            android:layout_width="20dp"
            android:layout_height="20dp"
            android:src="@drawable/ic_fuel"
            android:id="@+id/fuel_type_img"
            android:layout_alignParentStart="true" />

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignBaseline="@id/fuel_type_img"
            android:layout_toEndOf="@+id/fuel_type_img"
            android:text="Diesel"
            android:layout_marginStart="5dp"
            android:id="@+id/fuel_type_txt"

            />

    </RelativeLayout>

    <!-- Fuel Consumption-->
    <RelativeLayout
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:id="@+id/fuel_cons_wrap"
        android:layout_weight="1"
        >

        <ImageView
            android:layout_width="20dp"
            android:layout_height="20dp"
            android:src="@drawable/ic_fuel_consumption"
            android:id="@+id/fuel_cons_img"
            android:layout_alignParentStart="true" />

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignBaseline="@id/fuel_cons_img"
            android:layout_toEndOf="@+id/fuel_cons_img"
            android:text="13/23"
            android:layout_marginStart="5dp"
            android:id="@+id/fuel_consump_txt"

            />

    </RelativeLayout>

   </LinearLayout>

  </LinearLayout>

与其尝试布局的“包裹”效果,不如在外部布局中有两个嵌套的线性布局。包装在Android布局中不起作用

你应该:

<LinearLayout orientation = "vertical">
    <LinearLayout orientation = "horizontal" weight_sum="3">
        <Relative layout_weight="1"/>
        <Relative layout_weight="1"/>
        <Relative layout_weight="1"/>
    </LinearLayout>
    <LinearLayout orientation = "horizontal" weight_sum="3">
        <Relative layout_weight="1"/>
        <Relative layout_weight="1"/>
        <Relative layout_weight="1"/>
    </LinearLayout>
</LinearLayout>


但它将在一行中显示所有内容我不想在一行中显示它们。只想将最后三个元素包装到下一行。android:orientation=“horizontal请先用注释更正问题