列中的中心按钮尽可能少嵌套

时间:2014-08-15 11:30:17

标签: android android-layout

我的目标是实现以下目标:

enter image description here

中心按钮,就好像它们位于两个50%宽度的列中一样。我用这个xml执行此操作:

<LinearLayout android:layout_width="match_parent"
                  android:layout_height="wrap_content"
                  android:orientation="horizontal">
        <LinearLayout android:layout_width="0dp"
                      android:layout_height="wrap_content"
                      android:layout_weight="1"
                      android:gravity="center">
            <Button android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text="412-77"/>
        </LinearLayout>
        <LinearLayout android:layout_width="0dp"
                      android:layout_height="wrap_content"
                      android:layout_weight="1"
                      android:gravity="center">
            <Button android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text="22222"/>
        </LinearLayout>
</LinearLayout>

但是我觉得它的嵌套太多了。我的min sdk 2.2,所以我不能使用网格布局 如何减少xml中的嵌套?

2 个答案:

答案 0 :(得分:0)

试用此代码......

    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/RelativeLayout1"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="horizontal" >

    <Button
        android:id="@+id/button3"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true"
        android:text="Button"
        android:visibility="invisible" />

    <Button
        android:id="@+id/Button2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignBaseline="@+id/button3"
        android:layout_alignBottom="@+id/button3"
        android:layout_toRightOf="@+id/button3"
        android:text="22222" />

    <Button
        android:id="@+id/Button1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignBaseline="@+id/button3"
        android:layout_alignBottom="@+id/button3"
        android:layout_toLeftOf="@+id/button3"
        android:text="412-77" />

</RelativeLayout>

另一种方式

这可能是你在寻找

答案 1 :(得分:0)

Check this out:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/RelativeLayout1"
        android:layout_width="match_parent"
        android:layout_height="match_parent"

        <Button
            android:id="@+id/Button1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:paddingLeft="20dp"
            android:alignparentLeft="true"
            android:text="412-77" />
        <Button
            android:id="@+id/Button2"
            android:layout_width="wrap_content"
            android:paddingLeft="40dp"
            android:layout_height="wrap_content"
             android:layout_toRightOf="@+id/button1"
             android:paddingRight="20dp"
            android:alignParentRight="true"
            android:text="22222" />

    </RelativeLayout>