如何布置正确的位置

时间:2012-07-04 17:40:06

标签: android android-layout

我有一个屏幕,它是 enter image description here 我希望按钮放在彼此之下,每个文本视图下面的文本视图,我的代码是

<LinearLayout
                        android:id="@+id/LL1"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:gravity="center_vertical"
                        android:orientation="horizontal" >

                        <TextView
                            android:id="@+id/tvTab1Ask"
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:text="ask for new question" />

                        <Button
                            android:id="@+id/bMainTabsGetQuestion"
                            android:layout_width="116dp"
                            android:layout_height="33dp"
                            android:text="Get Question"
                            android:textSize="15px" />
                    </LinearLayout>

                    <LinearLayout
                        android:id="@+id/LL2"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:gravity="center_vertical"
                        android:orientation="horizontal" >

                        <TextView
                            android:id="@+id/tvTab1Join"
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:text="Join New Competition" />

                        <Button
                            android:id="@+id/bMainTabsJoin"
                            android:layout_width="wrap_content"
                            android:layout_height="30dp"
                            android:text="Join"
                            android:textSize="15px" />
                    </LinearLayout>

                    <LinearLayout
                        android:id="@+id/LL3"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:gravity="center_vertical"
                        android:orientation="horizontal" >

                        <TextView
                            android:id="@+id/tvTab1Signout"
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:text="or you can signout" />

                        <Button
                            android:id="@+id/bMainTabsSignout"
                            android:layout_width="wrap_content"
                            android:layout_height="30dp"
                            android:text="Sign out"
                            android:textSize="15px" />
                    </LinearLayout>

我的意思是每个按钮必须在同一点垂直启动

4 个答案:

答案 0 :(得分:2)

我认为,当你使用<TableLayout>制作它时,它会按你想要的方式工作。

答案 1 :(得分:2)

尝试按照XML:

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

    <TableRow
        android:id="@+id/row1"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:padding="5dip"
        android:weightSum="2" >

        <TextView
            android:id="@+id/tv1"
            android:layout_column="0"
            android:text="Ask for new Question"
            android:textAppearance="?android:attr/textAppearanceMedium"
            android:layout_weight="1" />

        <Button
            android:id="@+id/btn1"
            android:text="Get Questiopn"
            android:layout_column="1"
            android:layout_weight="1" />
    </TableRow>

    <TableRow
        android:id="@+id/row2"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:padding="5dip"
        android:weightSum="2" >

        <TextView
            android:id="@+id/tv2"
            android:layout_column="0"
            android:text="Join new Competition"
            android:textAppearance="?android:attr/textAppearanceMedium"
            android:layout_weight="1" />

        <Button
            android:id="@+id/btn2"
            android:text="Join"
            android:layout_column="1"
            android:layout_weight="1" />
    </TableRow>

    <TableRow
        android:id="@+id/row3"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:padding="5dip"
        android:weightSum="2" >

        <TextView
            android:id="@+id/tv3"
            android:layout_column="0"
            android:text="Or you can Signout"
            android:textAppearance="?android:attr/textAppearanceMedium"
            android:layout_weight="1" />

        <Button
            android:id="@+id/btn3"
            android:text="Sign Out"
            android:layout_column="1"
            android:layout_weight="1" />
    </TableRow>

</TableLayout>

完美的工作,请参阅以下

enter image description here

答案 2 :(得分:1)

如果要垂直设置按钮和文本,为什么不尝试将方向更改为每个线性布局的垂直(类似android:orientation="vertical")?

答案 3 :(得分:1)

使用RelativeLayout代替LinearLayout

并使用android:layout_alignLeft="" android:layout_alignBottom=""等参数根据您的设计进行对齐。