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请先用注释更正问题