如何为Android安装4个按钮(2个在顶部,2个在底部)?

时间:2015-03-05 03:40:52

标签: android xml button imagebutton side-to-side

我正在尝试创建4个图像按钮,以便它们的定位如下: 左上角---右上角

左下角---右下角

如果重要的话,我正在使用LinearLayout。这是我到目前为止所有(所有4个具有相同的代码):

<ImageButton
    android:background="@drawable/pic"
    android:id="@+id/multiButton"
    android:layout_width="150dip"
    android:layout_height="150dip"
    android:text="cool"
    android:textSize="50sp"
    android:textStyle="bold"/>

我也尝试将layout_width设置为&#34; fill_parent&#34;和layout_height到&#34; wrap_content&#34;但这仍然无济于事。

6 个答案:

答案 0 :(得分:1)

只需将此xml复制到您的布局中,您就会看到所有按钮在4个不同的角落中对齐。

enter image description here

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


    <Button
        android:id="@+id/button1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Button1" />

    <Button
        android:id="@+id/button2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Button2" 
        android:layout_alignParentRight="true"/>

    <Button
        android:id="@+id/button3"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Button3"
        android:layout_alignParentBottom="true" />

    <Button
        android:id="@+id/button4"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Button4"
        android:layout_alignParentBottom="true"
        android:layout_alignParentRight="true" />

</RelativeLayout>

答案 1 :(得分:0)

如果您使用相对布局作为这4个按钮的父级,则可以使用按钮,例如左下角,如下所示。您可以通过使用类似的参数来应用右上角,左上角和右下角。

android:layout_alignParentLeft="true"
android:layout_alignParentBottom="true"

答案 2 :(得分:0)

在线性布局中执行此操作需要嵌套线性布局(这就是推荐相对布局的原因)伪代码如下:

<Linear-layout-parent>
  orientation: vertical
  <Linear-layout-a>
    orientation: horizontal
    align: parentTop/wrapcontent
    <btn1 align:left/>
    <btn2 align:right/>
  </Linear-layout-a>
  <Linear-layout-b>
    orientation: horizontal
    align: parentBottom/wrapcontent
    <btn3 align:left/>
    <btn4 align:right/>
  </Linear-layout-b>
</Linear-layout-parent>

答案 3 :(得分:0)

尝试使用RelativeLayout,

<?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:orientation="vertical" >

    <Button
        android:id="@+id/button1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Button" />

    <Button
        android:id="@+id/button2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:layout_alignParentTop="true"
        android:text="Button" />

    <Button
        android:id="@+id/button3"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_alignParentLeft="true"
        android:text="Button" />

    <Button
        android:id="@+id/button4"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_alignParentRight="true"
        android:text="Button" />

</RelativeLayout>

输出:

enter image description here

答案 4 :(得分:0)

试试这个

<Linear-layout-parent>
  orientation: vertical
  <Linear-layout-a>
    orientation: horizontal
    align: parentTop/wrapcontent
weightsum="100"
    <btn1 align:left
weight="50"
height="wrapcontent"
width=0dp/>
    <btn2 align:right
weight="50"
height="wrapcontent"
width=0dp/>
  </Linear-layout-a>
  <Linear-layout-b>
    orientation: horizontal
    align: parentBottom/wrapcontent
weightsum="100"
    <btn3 
weight="50"
height="wrapcontent"
width=0dp/>
    <btn4 
weight="50"
height="wrapcontent"
width=0dp/>
  </Linear-layout-b>
</Linear-layout-parent>

答案 5 :(得分:0)

试试这段代码。

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        android:id="@+id/LinearLayout"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:orientation="vertical" >

        <LinearLayout
            android:id="@+id/header"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:orientation="horizontal">

            <LinearLayout
                android:id="@+id/header1"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="start"
                android:layout_weight="1"
                android:orientation="vertical" >

                <Button
                    android:id="@+id/button1"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text="Button" />
            </LinearLayout>

            <LinearLayout
                android:id="@+id/header2"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="end"
                android:layout_weight="1"
                android:orientation="vertical" >

                <Button
                    android:id="@+id/button2"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_gravity="end"
                    android:text="Button" />
            </LinearLayout>
        </LinearLayout>

        <LinearLayout
            android:id="@+id/child"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:orientation="horizontal"
            tools:context="com.example.stack.MainActivity" >

            <LinearLayout
                android:id="@+id/child1"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="bottom"
                android:layout_weight="1"
                android:orientation="vertical" >

                <Button
                    android:id="@+id/button3"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_gravity="start"
                    android:text="Button" />
            </LinearLayout>

            <LinearLayout
                android:id="@+id/child2"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="bottom"
                android:layout_weight="1"
                android:orientation="vertical" >

                <Button
                    android:id="@+id/button4"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_gravity="end"
                    android:text="Button" />
            </LinearLayout>
        </LinearLayout>

    </LinearLayout>