【问题标题】:How do you put 4 buttons side by side (2 on top, 2 on bottom) for Android?对于 Android,您如何并排放置 4 个按钮(顶部 2 个,底部 2 个)?
【发布时间】:2015-05-06 08:02:07
【问题描述】:

我正在尝试创建 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 设置为“fill_parent”,将 layout_height 设置为“wrap_content”,但这仍然没有帮助。

【问题讨论】:

  • 您是否尝试过使用网格布局?
  • 了解android中所有布局的基本用法

标签: android xml button imagebutton


【解决方案1】:

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

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

【讨论】:

  • @user2403836 对您有帮助吗?如果是这样,请将其标记为答案,因为您的问题仍然是开放的并且有 6 种不同的意见。选择一个将使有类似问题的人更容易。
【解决方案2】:

如果您使用相对布局作为这 4 个按钮的父级,那么在您可以使用的按钮中,例如左下角,如下所示。只需使用类似的参数,您就可以对右上角、左上角和右下角应用相同的参数。

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

【讨论】:

    【解决方案3】:

    在线性布局中这样做需要嵌套线性布局(这也是推荐相对布局的原因)伪代码如下:

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

    【讨论】:

      【解决方案4】:

      尝试使用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>
      

      输出:

      【讨论】:

        【解决方案5】:

        试试这个代码。

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

        【讨论】:

          【解决方案6】:

          试试这个

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

          【讨论】:

            猜你喜欢
            • 2013-05-09
            • 2011-01-16
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2011-07-29
            • 2012-02-16
            相关资源
            最近更新 更多