复选框未正确对齐

时间:2014-09-04 12:36:26

标签: android xml android-layout layout

我想做一些像这样的事情

enter image description here

尝试使用以下代码但在视图布局中没有正确对齐,有人可以帮我解决这个问题。

  <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop="20dp"
            android:orientation="vertical" >

            <TextView
                android:id="@+id/txtServices"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Services "
                android:textSize="22dp" />

            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:orientation="vertical" >

                <LinearLayout
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:orientation="horizontal" >

                    <CheckBox
                        android:id="@+id/chkService1"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_weight="1"
                        android:text="Dine In" />

                    <CheckBox
                        android:id="@+id/chkService2"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_weight="1"
                        android:text="Take Away" />

                    <CheckBox
                        android:id="@+id/chkService3"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_weight="1"
                        android:text="Home Delivery" />
                </LinearLayout>

                <LinearLayout
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:orientation="horizontal" >

                    <CheckBox
                        android:id="@+id/chkService4"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_weight="1"
                        android:text="BYO" />

                    <CheckBox
                        android:id="@+id/chkService5"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_weight="1"
                        android:text="Bar" />

                    <CheckBox
                        android:id="@+id/chkService6"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_weight="1"
                        android:text="Gluten Free" />
                </LinearLayout>

                <LinearLayout
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:orientation="horizontal" >

                    <CheckBox
                        android:id="@+id/chkService7"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_weight="1"
                        android:text="Vegan" />

                    <CheckBox
                        android:id="@+id/chkService8"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_weight="1"
                        android:text="Vegiterian" />

                    <CheckBox
                        android:id="@+id/chkService9"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_weight="1"
                        android:text="Organic" />
                </LinearLayout>
            </LinearLayout>
        </LinearLayout>

尝试正确对齐所有复选框以获取视图,如图所示。我试过管理垂直布局但没有帮助。

2 个答案:

答案 0 :(得分:3)

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_marginTop="20dp"
    android:orientation="vertical" >

    <TextView
        android:id="@+id/txtServices"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Services "
        android:textSize="22dp" />

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical" >

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal" >

            <CheckBox
                android:id="@+id/chkService1"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:layout_weight="1"
                android:text="Dine In"
                android:textSize="10dp" />

            <CheckBox
                android:id="@+id/chkService2"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:layout_weight="1"
                android:text="Take Away"
                android:textSize="10dp" />

            <CheckBox
                android:id="@+id/chkService3"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:layout_weight="1"
                android:text="Home Delivery"
                android:textSize="10dp" />
        </LinearLayout>

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal" >

            <CheckBox
                android:id="@+id/chkService4"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:layout_weight="1"
                 android:textSize="10dp"
                android:text="BYO" />

            <CheckBox
                android:id="@+id/chkService5"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:layout_weight="1"
                 android:textSize="10dp"
                android:text="Bar" />

            <CheckBox
                android:id="@+id/chkService6"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:layout_weight="1"
                 android:textSize="10dp"
                android:text="Gluten Free" />
        </LinearLayout>

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal" >

            <CheckBox
                android:id="@+id/chkService7"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:layout_weight="1"
                 android:textSize="10dp"
                android:text="Vegan" />

            <CheckBox
                android:id="@+id/chkService8"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:layout_weight="1"
                 android:textSize="10dp"
                android:text="Vegiterian" />

            <CheckBox
                android:id="@+id/chkService9"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:layout_weight="1"
                 android:textSize="10dp"
                android:text="Organic" />
        </LinearLayout>
    </LinearLayout>
</LinearLayout>

See this

答案 1 :(得分:2)

使用Weight属性时,应使用0dp作为宽度:

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_marginTop="20dp"
    android:orientation="vertical" >

    <TextView
        android:id="@+id/txtServices"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Services "
        android:textSize="22dp" />

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical" >

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal" >

            <CheckBox
                android:id="@+id/chkService1"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:text="Dine In" />

            <CheckBox
                android:id="@+id/chkService2"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:text="Take Away" />

            <CheckBox
                android:id="@+id/chkService3"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:text="Home Delivery" />
        </LinearLayout>

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal" >

            <CheckBox
                android:id="@+id/chkService4"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:text="BYO" />

            <CheckBox
                android:id="@+id/chkService5"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:text="Bar" />

            <CheckBox
                android:id="@+id/chkService6"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:text="Gluten Free" />
        </LinearLayout>

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal" >

            <CheckBox
                android:id="@+id/chkService7"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:text="Vegan" />

            <CheckBox
                android:id="@+id/chkService8"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:text="Vegiterian" />

            <CheckBox
                android:id="@+id/chkService9"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:text="Organic" />
        </LinearLayout>
    </LinearLayout>
</LinearLayout>

希望这有帮助。