1

привета поэтому я нашел много ссылки как пространство кнопки равномерно в горизонтальном направлении, и я ищу, чтобы сделать его по вертикали, так Theyre равномерно и не все сгрудилась хочет:пространства кнопки равномерно горизонтально андроид

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

У вашей кнопки «Финансы» есть атрибуты 'layout_alightParentRight' и' layout_alightParentTop', которые не применяются к этому представлению, так как его родительский элемент является «LinearLayout». Проверьте затмение для предупреждающих символов и то, что они говорят. – Vikram

+0

@vikram не использовал ecplise, но cheers действительно подобрали эту ошибку! – cxzp

ответ

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 на первых двух, а затем просто пространство их сюда.

+0

cheers empty views сделал это – cxzp

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> 

Это дало бы вы хотите, вы хотите.

Смежные вопросы