2

アイテムのリストを含む LinearLayout があります (各アイテムは LinearLayout です)。問題は、子アイテム (LinearLayouts) が上下に表示されないことです。最初のアイテムだけが表示されます。

これは私のlayout.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 では、現在の行に使用可能なスペースがない場合、子が次の行に表示されると思いました。

4

4 に答える 4

4

あなたLinearLayoutの ID にはform_list_holderがありandroid:orientation="horizontal"ます。

方向は、使用記号ではなく垂直にする必要がありますandroid:orientation="vertical"

于 2012-09-05T07:59:50.540 に答える
1

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>

それはあなたに役立つかもしれません..

于 2012-09-05T08:17:12.050 に答える
0

すべての android:layout_width="0dp" を設定しました。つまり、何も表示されません。0dp を match_parent に変更します。

于 2012-09-05T08:07:20.143 に答える
0

これを試して

<?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>
于 2012-09-05T08:10:03.727 に答える