在另一个LinearLayout内部添加多个Linear布局无法按预期工作



我有一个LinearLayout,它应该包含一个项目列表(每个项目都是一个LinearLayout)。问题是子项(LinearLayouts)没有一个显示在另一个下面:只有第一个可见。

这是我的布局.xml:

<?xml version="1.0" encoding="utf-8"?>

<TextView
    android:id="@+id/label_TextView"
    android:layout_width="0dp"
    android:layout_height="wrap_content"
    android:layout_gravity="center_vertical"
    android:layout_weight="2"
    android:paddingLeft="@dimen/form_label_padding_left"
    android:text="" />
<LinearLayout
    android:id="@+id/form_list_holder"
    android:layout_width="0dp"
    android:layout_height="wrap_content"        
    android:layout_weight="8"
    android:orientation="horizontal"
    android:background="@color/form_list_background" >
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal" >
        <TextView
            android:id="@+id/label_TextView1"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_gravity="center_vertical"
            android:layout_weight="2"
            android:paddingLeft="@dimen/form_label_padding_left"
            android:text="1" />
        <EditText
            android:id="@+id/edtx_input1"
            android:layout_width="0dp"
            android:layout_height="@dimen/form_input_height"
            android:layout_marginTop="@dimen/form_edittext_margin_top"
            android:layout_weight="5" />
        <EditText
            android:id="@+id/edtx_remark1"
            android:layout_width="0dp"
            android:layout_height="@dimen/form_input_height"
            android:layout_marginTop="@dimen/form_edittext_margin_top"
            android:layout_weight="3"
            android:hint="@string/remarks"
            android:visibility="invisible" />
    </LinearLayout>
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal" >
        <TextView
            android:id="@+id/label_TextView2"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_gravity="center_vertical"
            android:layout_weight="2"
            android:paddingLeft="@dimen/form_label_padding_left"
            android:text="1" />
        <EditText
            android:id="@+id/edtx_input2"
            android:layout_width="0dp"
            android:layout_height="@dimen/form_input_height"
            android:layout_marginTop="@dimen/form_edittext_margin_top"
            android:layout_weight="5" />
        <EditText
            android:id="@+id/edtx_remark2"
            android:layout_width="0dp"
            android:layout_height="@dimen/form_input_height"
            android:layout_marginTop="@dimen/form_edittext_margin_top"
            android:layout_weight="3"
            android:hint="@string/remarks"
            android:visibility="invisible" />
    </LinearLayout>
</LinearLayout>

你知道为什么会发生这种事吗?我认为在LinearLayout中,如果当前行上没有更多可用空间,子项将显示在下一行。

id为form_list_holderLinearLayout有一个android:orientation="horizontal"

方向应为垂直,而不是使用android:orientation="vertical"

尝试在RelativeLayout中使用线性布局。以便您可以设置

android:layout_below="@+id/above_layout" //above_layout is the id of previous layout

<RelativeLayout>
    <LinearLayout
      android:id="@+id/layout1"
      android:layout_width="Wrap_Content"
      android:layout_height="Wrap_Content">
    </LinearLayout>
    <LinearLayout
      android:id="@+id/layout2"
      android:layout_width="Wrap_Content"
      android:layout_height="Wrap_Content"
      android:layout_below="@+id/layout1">
    </LinearLayout>
      <LinearLayout
      android:id="@+id/layout3"
      android:layout_width="Wrap_Content"
      android:layout_height="Wrap_Content"
      android:layout_below="@+id/layout2">
    </LinearLayout>
</RelativeLayout>

这可能对你有帮助。。

您已经设置了所有的android:layout_width="0dp",这意味着您将无法看到任何内容。将0dp更改为match_parent。

尝试这个

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/form_list_holder"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"        
    android:layout_weight="8"
    android:orientation="vertical"
    android:background="@color/form_list_background" >
    <TextView
          android:id="@+id/label_TextView"
          android:layout_width="0dp"
          android:layout_height="wrap_content"
          android:layout_gravity="center_vertical"
          android:layout_weight="2"
          android:paddingLeft="@dimen/form_label_padding_left"
          android:text="" />
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal" >
        <TextView
            android:id="@+id/label_TextView1"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_gravity="center_vertical"
            android:layout_weight="2"
            android:paddingLeft="@dimen/form_label_padding_left"
            android:text="1" />
        <EditText
            android:id="@+id/edtx_input1"
            android:layout_width="0dp"
            android:layout_height="@dimen/form_input_height"
            android:layout_marginTop="@dimen/form_edittext_margin_top"
            android:layout_weight="5" />
        <EditText
            android:id="@+id/edtx_remark1"
            android:layout_width="0dp"
            android:layout_height="@dimen/form_input_height"
            android:layout_marginTop="@dimen/form_edittext_margin_top"
            android:layout_weight="3"
            android:hint="@string/remarks"
            android:visibility="invisible" />
    </LinearLayout>
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal" >
        <TextView
            android:id="@+id/label_TextView2"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_gravity="center_vertical"
            android:layout_weight="2"
            android:paddingLeft="@dimen/form_label_padding_left"
            android:text="1" />
        <EditText
            android:id="@+id/edtx_input2"
            android:layout_width="0dp"
            android:layout_height="@dimen/form_input_height"
            android:layout_marginTop="@dimen/form_edittext_margin_top"
            android:layout_weight="5" />
        <EditText
            android:id="@+id/edtx_remark2"
            android:layout_width="0dp"
            android:layout_height="@dimen/form_input_height"
            android:layout_marginTop="@dimen/form_edittext_margin_top"
            android:layout_weight="3"
            android:hint="@string/remarks"
            android:visibility="invisible" />
    </LinearLayout>
</LinearLayout>

最新更新