空间按钮均匀水平android

时间:2013-07-20 16:41:32

标签: android xml layout android-linearlayout vertical-alignment

嗨所以我发现了很多关于如何水平地按空格按钮的链接,我希望垂直地做,所以它们均匀间隔而不是全部成束 想要:

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

2 个答案:

答案 0 :(得分: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参数,然后将它们分开。

答案 1 :(得分: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>

这会让你想要的。