1

嗨,所以我找到了很多关于如何水平排列按钮的链接,我希望垂直排列,所以它们的间距均匀,而不是全部聚在一起想要:

---------------
|             |
|  button 1   |
|             |
|  button 2   |
|             |
|  button 3   |
|             |
---------------

我得到:

---------------
|             |
|  button 1   |
|  button 2   |
|  button 3   |
|             |
|             |
|             |
---------------

这是我的代码:

<?xml version="1.0" encoding="utf-8"?>
<ScrollView
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:fillViewport="true">
    <RelativeLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:background="#fff">

    <LinearLayout
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:orientation="vertical"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:padding="10dip"
        android:layout_alignParentLeft="true"
        android:layout_marginLeft="8dp"
        android:layout_alignParentTop="true"
        android:layout_marginTop="25dp"
        android:layout_above="@+id/footer">
        <!-- Send Ticket Button -->
        <Button android:id="@+id/sendTicketButton"
                android:background="@drawable/bluebutton"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:layout_marginTop="10dip"
                android:isScrollContainer="false"
                android:padding="20dp"
                android:onClick="onClickSendTickets"
                style="@style/ButtonText"
                android:text="Send Ticket/s"
                android:layout_gravity="center"/>
        <!-- Manage Events Button -->
        <Button android:id="@+id/manageEventsButton"
                android:background="@drawable/bluebutton"
                android:layout_width="fill_parent"
                android:padding="20dp"
                android:layout_height="wrap_content"
                android:layout_marginTop="10dip"
                android:isScrollContainer="false"
                android:onClick="onClickManageEvents"
                android:text="Manage Events"
                style="@style/ButtonText"
                android:layout_gravity="center"/>
        <!-- Finance Button -->
        <Button android:id="@+id/financeButton"
                android:background="@drawable/bluebutton"
                android:layout_width="fill_parent"
                android:padding="20dp"
                android:layout_height="wrap_content"
                android:isScrollContainer="false"
                android:gravity="center"
                android:onClick="onClickFinance"
                android:text="View Finances"
                style="@style/ButtonText"
                android:layout_gravity="center"
                android:layout_alignParentRight="true"
                android:layout_alignParentTop="true"
                android:layout_marginTop="131dp"/>

    </LinearLayout>
    <!-- Registration Form Ends -->
</RelativeLayout>
</ScrollView>
4

2 回答 2

2

有几种方法可以解决它,具体取决于您想要如何去做。也许最简单的方法是在您的每个其他视图之间输入空白的间隔视图并赋予它们相同的权重,这意味着一切最终都将具有相同的大小。您的布局将类似于:

<LinearLayout
     android:layout_width="wrap_content"
     android:layout_height="wrap_content" >
     <Button
         android:layout_width="match_parent"
         android:layout_height="0px"
         android:layout_weight="1" />
     <View
         android:layout_width="match_parent"
         android:layout_height="0px"
         android:layout_weight="1" />
     <Button
         android:layout_width="match_parent"
         android:layout_height="0px"
         android:layout_weight="1" />
     <View
         android:layout_width="match_parent"
         android:layout_height="0px"
         android:layout_weight="1" />
     <Button
         android:layout_width="match_parent"
         android:layout_height="0px"
         android:layout_weight="1" />
</LinearLayout>

如果您不需要它们占用所提供的全部垂直空间,您可以在前两个上使用 layout_marginTop 参数,然后将它们隔开。

于 2013-07-20T16:47:56.357 回答
0

android:layout_weight="1"为每个按钮添加一个并Views在它们之间添加

<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:padding="10dip"
    android:layout_alignParentLeft="true"
    android:layout_marginLeft="8dp"
    android:layout_alignParentTop="true"
    android:layout_marginTop="25dp"
    android:layout_above="@+id/footer">
    <!-- Send Ticket Button -->
    <Button android:id="@+id/sendTicketButton"
            android:background="@drawable/bluebutton"
            android:layout_width="fill_parent"
            android:layout_weight="1"
            android:layout_height="wrap_content"
            android:layout_marginTop="10dip"
            android:isScrollContainer="false"
            android:padding="20dp"
            android:onClick="onClickSendTickets"
            style="@style/ButtonText"
            android:text="Send Ticket/s"
            android:layout_gravity="center"/>
    <!-- Manage Events Button -->
    <View
     android:layout_width="match_parent"
     android:layout_height="0px"
     android:layout_weight="1" />
    <Button android:id="@+id/manageEventsButton"
            android:background="@drawable/bluebutton"
            android:layout_width="fill_parent"
            android:layout_weight="1"
            android:padding="20dp"
            android:layout_height="wrap_content"
            android:layout_marginTop="10dip"
            android:isScrollContainer="false"
            android:onClick="onClickManageEvents"
            android:text="Manage Events"
            style="@style/ButtonText"
            android:layout_gravity="center"/>
    <View
     android:layout_width="match_parent"
     android:layout_height="0px"
     android:layout_weight="1" />
    <!-- Finance Button -->
    <Button android:id="@+id/financeButton"
            android:background="@drawable/bluebutton"
            android:layout_width="fill_parent"
            android:layout_weight="1"
            android:padding="20dp"
            android:layout_height="wrap_content"
            android:isScrollContainer="false"
            android:gravity="center"
            android:onClick="onClickFinance"
            android:text="View Finances"
            style="@style/ButtonText"
            android:layout_gravity="center"
            android:layout_alignParentRight="true"
            android:layout_alignParentTop="true"
            android:layout_marginTop="131dp"/>

</LinearLayout>

这会给你想要的。

于 2013-07-20T16:57:30.273 回答