LinearLayout(垂直)推杆2按钮并排,下面有更多按钮

时间:2017-02-16 09:00:09

标签: android android-layout

创建一些按钮时遇到一些小问题。我想在LinearLayout中并排放置2个按钮(工作)和更多(exp.3按钮)。实际上一切都对我有用,但是如果我按下另一个按钮,按钮位于下方但上方有可用空间。

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


<ScrollView
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:fillViewport="true"
    android:layout_alignParentTop="true"
    android:layout_alignParentLeft="true"
    android:layout_alignParentStart="true">

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

        <Button
            android:id="@+id/button1"
            android:text="Button1"
            android:textColor="#FFFFFF"
            android:textSize="30sp"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:background="@drawable/mybutton"
            android:layout_weight="1"
            android:layout_marginBottom="200dp" />

        <Button
            android:id="@+id/button2"
            android:text="Button2"
            android:textColor="#FFFFFF"
            android:textSize="30sp"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:background="@drawable/mybutton"
            android:layout_weight="1"
            android:layout_marginLeft="5dp"
            android:layout_marginBottom="100dp" />

        <Button
            android:id="@+id/button3"
            android:text="Button3"
            android:textColor="#FFFFFF"
            android:textSize="30sp"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:background="@drawable/mybutton"
            android:layout_weight="1"
            android:layout_marginLeft="5dp"
            android:layout_marginBottom="200dp" />

    </LinearLayout>

    </ScrollView>

    </RelativeLayout>

这看起来像是atm。

image

6 个答案:

答案 0 :(得分:1)

首先使每个按钮的宽度为0dp。 第二个使3个按钮中的边距底部相等

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


<ScrollView
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:fillViewport="true"
    android:layout_alignParentTop="true"
    android:layout_alignParentLeft="true"
    android:layout_alignParentStart="true">

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

    <Button
        android:id="@+id/button1"
        android:text="Button1"
        android:textColor="#FFFFFF"
        android:textSize="30sp"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:background="@drawable/mybutton"
        android:layout_weight="1"
        android:layout_marginBottom="200dp" />

    <Button
        android:id="@+id/button2"
        android:text="Button2"
        android:textColor="#FFFFFF"
        android:textSize="30sp"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:background="@drawable/mybutton"
        android:layout_weight="1"
        android:layout_marginLeft="5dp"
        android:layout_marginBottom="200dp" />

    <Button
        android:id="@+id/button3"
        android:text="Button3"
        android:textColor="#FFFFFF"
        android:textSize="30sp"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:background="@drawable/mybutton"
        android:layout_weight="1"
        android:layout_marginLeft="5dp"
        android:layout_marginBottom="200dp" />

</LinearLayout>

</ScrollView>

</RelativeLayout>

答案 1 :(得分:1)

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical" android:layout_width="match_parent"
    android:layout_height="match_parent">
    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="horizontal"
        android:layout_centerHorizontal="true"
        android:id="@+id/layout_one">
        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="button 1"/>
        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="button 2"/>
    </LinearLayout>
    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/layout_one"
        android:layout_centerHorizontal="true">
        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="button 3"
            />
    </LinearLayout>
</RelativeLayout>

这是pic的截图:

screenshot of pic

答案 2 :(得分:0)

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


<ScrollView
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:fillViewport="true"
    android:layout_alignParentTop="true"
    android:layout_alignParentLeft="true"
    android:layout_alignParentStart="true">

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

        <Button
            android:id="@+id/button1"
            android:text="Button1"
            android:textColor="#FFFFFF"
            android:textSize="30sp"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:background="@drawable/mybutton"
            android:layout_weight="1"
            android:layout_marginBottom="200dp" />

        <Button
            android:id="@+id/button2"
            android:text="Button2"
            android:textColor="#FFFFFF"
            android:textSize="30sp"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:background="@drawable/mybutton"
            android:layout_weight="1"
            android:layout_marginLeft="5dp"
            android:layout_marginBottom="200dp" />

        <Button
            android:id="@+id/button3"
            android:text="Button3"
            android:textColor="#FFFFFF"
            android:textSize="30sp"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:background="@drawable/mybutton"
            android:layout_weight="1"
            android:layout_marginLeft="5dp"
            android:layout_marginBottom="200dp" />

    </LinearLayout>

    </ScrollView>

    </RelativeLayout>

用这个更新你的xml,希望它可以帮助你

答案 3 :(得分:0)

这是你的代码:

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


    <ScrollView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:fillViewport="true"
        android:layout_alignParentTop="true"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true">

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

            <Button
                android:id="@+id/button1"
                android:text="Button1"
                android:textColor="#FFFFFF"
                android:textSize="30sp"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:background="@drawable/mybutton"
                android:layout_weight="1"
                android:layout_marginBottom="200dp" />

            <Button
                android:id="@+id/button2"
                android:text="Button2"
                android:textColor="#FFFFFF"
                android:textSize="30sp"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:background="@drawable/mybutton"
                android:layout_weight="1"
                android:layout_marginLeft="5dp"
                android:layout_marginBottom="200dp" />

            <Button
                android:id="@+id/button3"
                android:text="Button3"
                android:textColor="#FFFFFF"
                android:textSize="30sp"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:background="@drawable/mybutton"
                android:layout_weight="1"
                android:layout_marginLeft="5dp"
                android:layout_marginBottom="200dp" />

        </LinearLayout>

    </ScrollView>

只需在第二个按钮中设置android:layout_marginBottom="200dp" />

答案 4 :(得分:0)

这种情况正在发生,因为您已将中心引力赋予LinearLayout

解决方案只是删除gravity标记并再次运行

替换

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

到此

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

答案 5 :(得分:0)

如果要将3个按钮放在彼此下方,则应将LinearLayout的方向设置为垂直而不是水平。这将按垂直顺序显示您的按钮。

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


    <ScrollView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:fillViewport="true"
        android:layout_alignParentTop="true"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true">

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

            <Button
                android:id="@+id/button1"
                android:text="Button1"
                android:textColor="#FFFFFF"
                android:textSize="30sp"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:background="@drawable/mybutton" />

            <Button
                android:id="@+id/button2"
                android:text="Button2"
                android:textColor="#FFFFFF"
                android:textSize="30sp"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:background="@drawable/mybutton" />

            <Button
                android:id="@+id/button3"
                android:text="Button3"
                android:textColor="#FFFFFF"
                android:textSize="30sp"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:background="@drawable/mybutton" />

        </LinearLayout>

    </ScrollView>

</RelativeLayout>