在“线性布局”中的按钮下方设置按钮

时间:2014-03-07 10:20:06

标签: android android-layout android-linearlayout

我必须创建一个有两个按钮的布局。第二个按钮将位于第一个按钮之下。参见此XML我已经完成了但我无法在按钮下面设置按钮的位置。请发布帮我搞定。

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

    <LinearLayout
        android:id="@+id/linearLayout2"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true"
        android:layout_marginLeft="2dp"
        android:orientation="horizontal"
        android:weightSum="3" >

        <TextView
            android:id="@+id/ap"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_marginTop="10dp"
            android:layout_weight="1"
            android:singleLine="true"
            android:text="TEST" />

        <TextView
            android:id="@+id/st"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_marginLeft="5dp"
            android:layout_marginTop="10dp"
            android:layout_weight="1"
            android:singleLine="true"
            android:text="TEST" />

        <TextView
            android:id="@+id/tt"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_marginLeft="5dp"
            android:layout_marginTop="10dp"
            android:layout_weight="1"
            android:singleLine="true"
            android:text="TEST" />

        <Button
            android:id="@+id/button1"
            android:layout_width="wrap_content"
            android:layout_height="36dp"
            android:layout_marginLeft="5dp"
            android:layout_marginTop="10dp"
            android:layout_weight="1"
            android:text="Button" />
    </LinearLayout>

</RelativeLayout>

8 个答案:

答案 0 :(得分:4)

尝试使用按钮大小:

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

<LinearLayout
    android:id="@+id/linearLayout2"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_alignParentTop="true"
    android:layout_marginLeft="2dp"
    android:orientation="horizontal"
    android:weightSum="3" >

    <TextView
        android:id="@+id/ap"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_marginTop="10dp"
        android:layout_weight="1"
        android:singleLine="true"
        android:text="TEST" />

    <TextView
        android:id="@+id/st"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_marginLeft="5dp"
        android:layout_marginTop="10dp"
        android:layout_weight="1"
        android:singleLine="true"
        android:text="TEST" />

    <TextView
        android:id="@+id/tt"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_marginLeft="5dp"
        android:layout_marginTop="10dp"
        android:layout_weight="1"
        android:singleLine="true"
        android:text="TEST" />

    <Button
        android:id="@+id/button1"
        android:layout_width="wrap_content"
        android:layout_height="36dp"
        android:layout_marginLeft="5dp"
        android:layout_marginTop="10dp"
        android:layout_weight="1"
        android:text="Button" />

</LinearLayout>

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

 </RelativeLayout>

答案 1 :(得分:2)

这样您就可以实现所需的布局。使按钮保持垂直方向的线性布局。

<LinearLayout
    android:id="@+id/linearLayout2"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_alignParentTop="true"
    android:layout_marginLeft="2dp"
    android:orientation="horizontal"
    android:weightSum="3" >

    <TextView
        android:id="@+id/ap"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_marginTop="10dp"
        android:layout_weight="1"
        android:singleLine="true"
        android:text="TEST" />

    <TextView
        android:id="@+id/st"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_marginLeft="5dp"
        android:layout_marginTop="10dp"
        android:layout_weight="1"
        android:singleLine="true"
        android:text="TEST" />

    <TextView
        android:id="@+id/tt"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_marginLeft="5dp"
        android:layout_marginTop="10dp"
        android:layout_weight="1"
        android:singleLine="true"
        android:text="TEST" />
    <LinearLayout

      android:layout_width="wrap_content"
         android:layout_weight="1"
       android:layout_height="wrap_content"
     android:orientation="vertical">
    <Button
        android:id="@+id/button1"
        android:layout_width="wrap_content"
        android:layout_height="36dp"
        android:layout_marginLeft="5dp"
        android:layout_marginTop="10dp"

        android:text="Button" />

     <Button
        android:id="@+id/button2"
        android:layout_width="wrap_content"
        android:layout_height="36dp"
        android:layout_marginLeft="5dp"
        android:layout_marginTop="10dp"

        android:text="Button" />
       </LinearLayout>
</LinearLayout>

答案 2 :(得分:2)

以这种方式在父linearLayout2内创建一个垂直方向的LinearLayout:

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

<LinearLayout
    android:id="@+id/linearLayout2"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_alignParentTop="true"
    android:layout_marginLeft="2dp"
    android:orientation="horizontal"
    android:weightSum="3" >

    <TextView
        android:id="@+id/ap"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_marginTop="10dp"
        android:layout_weight="1"
        android:singleLine="true"
        android:text="TEST" />

    <TextView
        android:id="@+id/st"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_marginLeft="5dp"
        android:layout_marginTop="10dp"
        android:layout_weight="1"
        android:singleLine="true"
        android:text="TEST" />

    <TextView
        android:id="@+id/tt"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_marginLeft="5dp"
        android:layout_marginTop="10dp"
        android:layout_weight="1"
        android:singleLine="true"
        android:text="TEST" />


    <LinearLayout
        android:id="@+id/linearLayout3"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true"
        android:layout_marginLeft="2dp"
        android:orientation="vertical" >

        <Button
            android:id="@+id/button1"
            android:layout_width="wrap_content"
            android:layout_height="36dp"
            android:layout_marginLeft="5dp"
            android:layout_marginTop="10dp"
            android:layout_weight="1"
            android:text="Button" />
       <Button
            android:id="@+id/button2"
            android:layout_width="wrap_content"
            android:layout_height="36dp"
            android:layout_marginLeft="5dp"
            android:layout_marginTop="10dp"
            android:layout_weight="1"
            android:text="Button" />
    </LinearLayout>
</LinearLayout>

根据需要调整边距,重量和尺寸。

答案 3 :(得分:1)

这应该可以解决问题:

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

    <LinearLayout
        android:id="@+id/linearLayout2"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true"
        android:layout_marginLeft="2dp"
        android:orientation="horizontal"
        android:weightSum="3" >

        <TextView
            android:id="@+id/ap"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_marginTop="10dp"
            android:layout_weight="1"
            android:singleLine="true"
            android:text="TEST" />

        <TextView
            android:id="@+id/st"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_marginLeft="5dp"
            android:layout_marginTop="10dp"
            android:layout_weight="1"
            android:singleLine="true"
            android:text="TEST" />

        <TextView
            android:id="@+id/tt"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_marginLeft="5dp"
            android:layout_marginTop="10dp"
            android:layout_weight="1"
            android:singleLine="true"
            android:text="TEST" />
        <LinearLayout
          android:id="@+id/linearLayout3"
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"
          android:orientation="vertical">
            <Button
              android:id="@+id/button1"
              android:layout_width="wrap_content"
              android:layout_height="36dp"
              android:layout_marginLeft="5dp"
              android:layout_marginTop="10dp"
              android:layout_weight="1"
              android:text="Button" />
            <Button
              android:id="@+id/button2"
              android:layout_width="wrap_content"
              android:layout_height="36dp"
              android:layout_marginLeft="5dp"
              android:layout_marginTop="10dp"
              android:layout_weight="1"
              android:text="Button" />
       </LinearLayout>
   </LinearLayout>
</RelativeLayout>

答案 4 :(得分:0)

在第一个按钮后面右键:

<Button
    android:id="@+id/button2"
    android:layout_below="@id/button1"
    android:layout_width="wrap_content"
    android:layout_height="36dp"
    android:layout_marginLeft="5dp"
    android:layout_marginTop="10dp"
    android:layout_weight="1"
    android:text="Button" />

为什么在RelativeLayout中使用LinearLayout?其中一个是superflu。

答案 5 :(得分:0)

linearLayout2之后添加第二个按钮。

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

答案 6 :(得分:0)

您可以删除LinearLayout中的android:weightSum,并删除LinearLayout内所有视图中的layout_weight。

因为你设置了weighSum为3,所以linearLayout只显示其中的前三项,因为它们的总重量为3。

答案 7 :(得分:0)

第一行是第一行,第二行是第二行,你说两个按钮之间的差距有多大。

android:layout_below="@+id/button"
android:layout_marginTop="5dp"