使用多个按钮创建布局

时间:2013-08-23 10:47:51

标签: android xml android-layout layout

我想设计一个如下所示的布局:

enter image description here

但我没有得到完全相同的布局。我想要相同的布局和相同的按钮,但只是很难正确对齐它。该代码也适用于多维设备。我的代码是:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:gravity="center"
    android:orientation="vertical" >

<LinearLayout
    android:id="@+id/LinearLayout05"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignBottom="@+id/LinearLayout02"
    android:layout_alignRight="@+id/LinearLayout04"
    android:layout_margin="25dip"
    android:layout_weight="0.53"
    android:alignRight="@id/LinearLayout04"
    android:background="#0000ff" >

    <LinearLayout
        android:id="@+id/LinearLayout06"
        android:layout_width="116dp"
        android:layout_height="137dp"
        android:layout_marginTop="14dip"
        android:background="@drawable/active_user"
        android:gravity="bottom"
        android:orientation="horizontal" >

        <TextView
            android:id="@+id/TextView03"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="0.53"
            android:gravity="center"
            android:text="Button" />
    </LinearLayout>
</LinearLayout>

<LinearLayout
    android:id="@+id/LinearLayout02"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_below="@+id/rl2"
    android:layout_margin="25dip"
    android:layout_toLeftOf="@+id/LinearLayout05"
    android:layout_weight="0.53"
    android:background="#0000ff" >

    <LinearLayout
        android:id="@+id/LinearLayout01"
        android:layout_width="match_parent"
        android:layout_height="112dp"
        android:layout_marginTop="14dip"
        android:layout_weight="0.42"
        android:background="@drawable/active_user"
        android:gravity="bottom"
        android:orientation="horizontal" >

        <TextView
            android:id="@+id/TextView01"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="0.53"
            android:gravity="center"
            android:text="Button" />
    </LinearLayout>
</LinearLayout>

<LinearLayout
    android:id="@+id/LinearLayout04"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentRight="true"
    android:layout_alignParentTop="true"
    android:layout_margin="25dip"
    android:layout_marginRight="92dp"
    android:layout_marginTop="56dp"
    android:background="#0000ff" >

    <LinearLayout
        android:id="@+id/LinearLayout03"
        android:layout_width="150dp"
        android:layout_height="113dp"
        android:layout_marginTop="14dip"
        android:background="@drawable/active_user"
        android:gravity="bottom"
        android:orientation="horizontal" >

        <TextView
            android:id="@+id/TextView02"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="0.53"
            android:gravity="center"
            android:text="Button" />
    </LinearLayout>
</LinearLayout>

<LinearLayout
    android:id="@+id/rl2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignLeft="@+id/LinearLayout02"
    android:layout_alignTop="@+id/LinearLayout04"
    android:layout_margin="25dip"
    android:background="#0000ff" >

    <LinearLayout
        android:id="@+id/linearLayout4"
        android:layout_width="143dp"
        android:layout_height="116dp"
        android:layout_marginTop="14dip"
        android:background="@drawable/active_user"
        android:gravity="bottom"
        android:orientation="horizontal" >

        <TextView
            android:id="@+id/button2"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="0.53"
            android:gravity="center"
            android:text="Button" />
    </LinearLayout>
</LinearLayout>

</RelativeLayout>

4 个答案:

答案 0 :(得分:2)

这个怎么样:

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

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

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

        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:background="@drawable/ic_launcher" >
        </Button>

        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:background="@drawable/ic_launcher" >
        </Button>
    </TableRow>

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

        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:background="@drawable/ic_launcher" >
        </Button>

        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:background="@drawable/ic_launcher" >
        </Button>
    </TableRow>
</TableLayout>

</LinearLayout>

答案 1 :(得分:0)

您可以尝试这样做,只需复制并粘贴此xml,然后随图像一起更改

     <?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" >

    <TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center_horizontal"
        android:text="YOUR TEXT"
        android:textAppearance="?android:attr/textAppearanceLarge" />

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

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

            <ImageView
                android:id="@+id/imageView1"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:src="@drawable/ic_launcher" />

            <ImageView
                android:id="@+id/imageView2"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:src="@drawable/ic_launcher" />
        </LinearLayout>

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

            <ImageView
                android:id="@+id/imageView1"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:src="@drawable/ic_launcher" />

            <ImageView
                android:id="@+id/imageView2"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:src="@drawable/ic_launcher" />
        </LinearLayout>
    </LinearLayout>

</LinearLayout>

答案 2 :(得分:0)

试试这个......

    <?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"
    android:gravity="center" >

<LinearLayout
    android:id="@+id/LinearLayout05"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal"
    android:gravity="center"
     >

    <LinearLayout
        android:id="@+id/LinearLayout06"
        android:layout_width="0dp"
        android:layout_height="137dp"
        android:layout_weight="0.5"
        android:layout_margin="5dp"
    android:gravity="center"
        android:background="#629AA7" >

        <TextView
            android:id="@+id/TextView03"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:gravity="center"
            android:text="Button" />
    </LinearLayout>


    <LinearLayout
        android:id="@+id/LinearLayout01"
        android:layout_width="0dp"
        android:layout_height="137dp"
        android:layout_weight="0.5"
        android:layout_margin="5dp"
    android:gravity="center"
        android:background="#629AA7">

        <TextView
            android:id="@+id/TextView01"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:gravity="center"
            android:text="Button" />
    </LinearLayout>
</LinearLayout>

<LinearLayout
    android:id="@+id/LinearLayout04"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal" >

    <LinearLayout
        android:id="@+id/LinearLayout03"
        android:layout_width="0dp"
        android:layout_height="137dp"
        android:layout_weight="0.5"
    android:gravity="center"
        android:layout_margin="5dp"
    android:background="#629AA7">

        <TextView
            android:id="@+id/TextView02"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:gravity="center"
            android:text="Button" />
    </LinearLayout>



    <LinearLayout
        android:id="@+id/linearLayout4"
        android:layout_width="0dp"
        android:layout_height="137dp"
        android:layout_weight="0.5"
    android:gravity="center"
        android:layout_margin="5dp"
    android:background="#629AA7">

        <TextView
            android:id="@+id/button2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:gravity="center"
            android:text="Button" />
    </LinearLayout>
</LinearLayout>

</LinearLayout>

答案 3 :(得分:0)

巧合的是,我正在使用的应用程序使用相同的布局 - 2个2平方的四个按钮。我们解决它的方式遵循以下结构:

<LinearLayout android:orientation="vertical" ...>

    <LinearLayout android:orientation="horizontal">
        <Button ... />
        <Button ... />
    </LinearLayout>

    <LinearLayout android:orientation="horizontal">
        <Button ... />
        <Button ... />
    </LinearLayout>

</LinearLayout>