0

Я разработал следующую схему http://i61.tinypic.com/33w1oy1.jpgПравильное размещение кнопок в относительной компоновке?

Но, похоже, это в любом устройстве: http://i60.tinypic.com/zvbxiu.png

Почему существует разрыв между кнопками справочных и обучающих программ.

<?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:background="#fff" > 

    <Button 
     android:id="@+id/bExit" 
     style="?android:attr/borderlessButtonStyle" 
     android:layout_width="match_parent" 
     android:layout_height="50dp" 
     android:layout_alignParentBottom="true" 
     android:text="@string/Exit" /> 

    <Button style="?android:attr/borderlessButtonStyle" 
     android:id="@+id/bInquiry" 
     android:layout_width="match_parent" 
     android:layout_height="50dp" 
     android:layout_above="@+id/bContactus " 
     android:layout_alignParentLeft="true" 
     android:text="@string/buttonInquiry" /> 

    <Button style="?android:attr/borderlessButtonStyle" 
     android:id="@+id/bContactus " 
     android:layout_width="match_parent" 
     android:layout_height="50dp" 
     android:layout_above="@+id/bExit" 
     android:layout_alignParentLeft="true" 
     android:text="@string/buttonContactUs" 
     android:background="#f7f0db" /> 

    <Button 
     android:id="@+id/bServices" 
     style="?android:attr/borderlessButtonStyle" 
     android:layout_width="match_parent" 
     android:layout_height="50dp" 
     android:layout_alignParentLeft="true" 
     android:layout_alignParentRight="true" 
     android:layout_centerVertical="true" 
     android:text="@string/buttonServices" /> 

    <Button 
     android:id="@+id/bTraining" 
     style="?android:attr/borderlessButtonStyle" 
     android:layout_width="match_parent" 
     android:layout_height="50dp" 
     android:layout_alignParentLeft="true" 
     android:layout_alignParentRight="true" 
     android:layout_below="@+id/bServices" 
     android:text="@string/buttonTraining" 
     android:background="#f7f0db" /> 

    <ImageView 
     android:id="@+id/imageView1" 

     android:layout_width="50dp" 
     android:layout_height="50dp" 
     android:layout_above="@+id/bAboutUs" 
     android:layout_alignParentLeft="true" 
     android:layout_alignParentRight="true" 
     android:layout_alignParentTop="true" 
     android:contentDescription="@string/fblike" 
     android:src="@drawable/dgtklogo554a527" /> 

    <Button 
     android:id="@+id/bAboutUs" 
     style="?android:attr/borderlessButtonStyle" 
     android:layout_width="match_parent" 
     android:background="#f7f0db" 
     android:layout_height="50dp" 
     android:layout_above="@+id/bServices" 
     android:layout_alignParentLeft="true" 
     android:text="@string/buttonAbtus" /> 

</RelativeLayout> 

Просьба указать, какие изменения нужно делать с кнопками, чтобы избежать такой ситуации.

+0

Так же, как примечание, вам не нужно андроид: layout_width = «match_parent» и атрибуты 'андроида : layout_alignParentLeft = "true" и android: layout_alignParentRight = "true" ', поскольку ширина match_parent уже устанавливает левую и правую выравнивание с родителями левой и правой сторон. – zgc7009

+0

Ваша проблема вызвана настройкой android: layout_above = "@ + id/xxxxx" and android: layout_below = "@ + id/xxxxx". вы должны использовать логический порядок. во всех случаях, ответ @piyush - лучший способ сделать ваше мнение – Rami

ответ

2

Вместо использования RelativeLayout использования LinearLayout и установить его ориентации свойства вертикального android:orientation="vertical" затем добавить пункт один на один вы добьетесь ваших layout.This будут памяти эффективными и быстрым по сравнению к RelativeLayout, как RelativeLayout зависит от различных отношений между представлениями и медленного просмотра.
Спасибо.

1

В случае, если вы решили придерживаться RelativeLayout, проблема в том, что у вас есть две группы несвязанных элементов управления. Сейчас отношения заключается в следующем:

bExit <- bContactus <- bInquiry 

bServices <- bTraining 
^ 
| 
bAboutUs <- imageView1 

Вместо этого он должен быть таким:

bExit <- bContactus <- bInquiry <- bTraining <- bServices <- bAboutUs <- imageView1