如何在框架布局中对齐复选框

时间:2014-04-07 09:43:05

标签: android

<FrameLayout
    android:layout_width="wrap_content"
    android:layout_height="wrap_content" >

    <CheckBox
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="click" />

    <CheckBox
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="click" />

    <CheckBox
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="click" />

    <CheckBox
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="click" />
</FrameLayout>

这是我的主要xml文件,但我的所有复选框都崩溃了。我想垂直。 请建议我。

3 个答案:

答案 0 :(得分:0)

尝试如下。无需使用framelayout,您可以使用LinearLayout

直接实现此功能
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

            <CheckBox
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="click" />

            <CheckBox
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="click" />

            <CheckBox
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="click" />

            <CheckBox
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="click" />
        </LinearLayout>

答案 1 :(得分:0)

您应该将FrameLayout替换为LinearLayout。来自文档:

FrameLayout旨在屏蔽屏幕上的某个区域以显示单个项目。通常,FrameLayout应该用于保存单个子视图,因为很难以可扩展到不同屏幕大小而儿童不重叠的方式组织子视图彼此。但是,您可以使用FrameLayout属性为FrameLayout添加多个孩子,并通过为每个孩子分配重力来控制他们在android:layout_gravity中的位置。

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:orientation="vertical">

    <CheckBox
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="click" />

    <CheckBox
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="click" />

    <CheckBox
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="click" />

    <CheckBox
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="click" />
</LinearLayout>

答案 2 :(得分:0)

在该tablelayout中使用LinearLayout然后使用tablerowlayout。并把你的复选框。

<?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent" >

        <TableLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent" >

            <TableRow
                android:id="@+id/tableRow3"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content" >

                <CheckBox
                    android:id="@+id/jimmy"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text="one" />

            </TableRow>

            <TableRow
                android:id="@+id/tableRow4"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content" >

                <CheckBox
                    android:id="@+id/diana"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text="two" />

            </TableRow>

            <TableRow
                android:id="@+id/tableRow6"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content" >

                <CheckBox
                    android:id="@+id/dina"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text="three" />

            </TableRow>

            <TableRow
                android:id="@+id/tableRow5"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content" >

                <CheckBox
                    android:id="@+id/jack"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text="four" />

            </TableRow>

        </TableLayout>

    </LinearLayout>