【问题标题】:Two Buttons on top two on bottom顶部有两个按钮 底部有两个
【发布时间】:2012-06-05 20:00:18
【问题描述】:

我希望在屏幕上显示 4 个按钮。顶部有两个,底部有两个。这段代码以我想要的方式为我提供了顶部按钮。但是,当我将 layout_alignParentTop="true" 更改为 layout_alignParentBottom="true" 时,按钮保持在顶部。他们没有像预期的那样移动到底部。有什么想法吗?

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/LinearLayout02" 
    android:layout_height="wrap_content" 
    android:layout_width="fill_parent" 
    android:layout_alignParentTop="true">
<Button 
    android:id="@+id/Button02" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_weight="1" android:text="test">
</Button>
<Button 
    android:id="@+id/Button03" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content"
    android:layout_weight="1" 
    android:text="test">
</Button>
</LinearLayout>

【问题讨论】:

  • 如果它没有移动到底部,可能是因为线性布局的父级(您的 relativelayout)设置为 wrap_content,而不是 fill_parent,如果您希望它位于底部,则需要它从上到下的视图
  • 感谢大家的帮助,我现在可以正常工作了。

标签: android android-button android-linearlayout


【解决方案1】:

因此,您应该将父元素创建为&lt;RelativeLayout&gt;,并在其中创建两个&lt;LinearLayouts&gt;,其中每个包含两个Button。对于将第一个布局与顶部对齐,您可以使用 android:layout_alignParentTop="true" 并将第二个到底部对齐使用 android:layout_alignParentBottom="true"

<?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"
    android:background="#3B3B3B">

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal"
        android:padding="10dp"
        android:gravity="center_horizontal"
        android:layout_alignParentTop="true">

        <Button 
            android:id="@+id/loginBtn"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginTop="40dp"
            android:text="Second"
            />

        <Button 
            android:id="@+id/loginBtn"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginTop="40dp"
            android:text="Second"/>

    </LinearLayout>

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal"
        android:padding="10dp"
        android:gravity="center_horizontal"
        android:layout_alignParentBottom="true"
        >

        <Button 
            android:id="@+id/loginBtn"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginTop="40dp"
            android:text="Second"
            />

        <Button 
            android:id="@+id/loginBtn"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginTop="40dp"
            android:text="Second"
            />
    </LinearLayout>
</RelativeLayout>

【讨论】:

    【解决方案2】:

    在线性布局上使用 android:layout_height="match_parent"

    【讨论】:

      【解决方案3】:

      或者您可以使用带有 layoutBelow 和 layoutAbove 的相对布局。相对布局非常适合这种布局。

      【讨论】:

      • 我试过了,但是 layout_weight="1" 没有让按钮穿过屏幕的一半并在中心相遇
      • 将它们的宽度更改为 match_parent
      【解决方案4】:

      这里你的根布局是 LinearLayout:

      android:layout_alignParentTop is useless
      

      将您的 LinearLayout 添加到 RelativeLayout 中,您将得到它的工作!

      或者最好的方法是使用属性

      android:layout_gravity
      

      所以要在屏幕的按钮上显示按钮,你可以使用这个布局:

      <?xml version="1.0" encoding="utf-8"?>
      
          <LinearLayout
              xmlns:android="http://schemas.android.com/apk/res/android"
              android:id="@+id/LinearLayout02"
              android:layout_width="fill_parent"
              android:layout_height="wrap_content"
              android:layout_gravity="bottom" >
      
              <Button
                  android:id="@+id/Button02"
                  android:layout_width="wrap_content"
                  android:layout_height="wrap_content"
                  android:layout_weight="1"
                  android:text="test" >
              </Button>
      
              <Button
                  android:id="@+id/Button03"
                  android:layout_width="wrap_content"
                  android:layout_height="wrap_content"
                  android:layout_weight="1"
                  android:text="test" >
              </Button>
          </LinearLayout>
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-08-27
        • 1970-01-01
        • 2013-11-27
        • 1970-01-01
        相关资源
        最近更新 更多