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"and android : layout_alignParentRight = "true"'match_parent의 너비는 이미 부모의 왼쪽과 오른쪽에 정렬되도록 왼쪽과 오른쪽을 설정합니다. – zgc7009

+0

귀하의 android : layout_above = "@ + id/xxxxx"android : layout_below = "@ + id/xxxxx"설정으로 인해 문제가 발생했습니다. 당신은 논리 순서를 사용해야합니다. 모든 경우에 @piyush의 대답은보기를 수행하는 가장 좋은 방법입니다. – Rami

답변

2
대신있는 LinearLayout RelativeLayout의 사용 를 사용

과 하나하여 방향을 재산 수직 android:orientation="vertical" 다음 추가 항목을 설정 당신은 당신의 layout.This이 메모리 효율적이고 빠른로 RelativeLayout의에 비교 될 것이다 달성 RelativeLayout은 뷰와 뷰 간의 다양한 관계에 의존한다.
감사합니다.

1

RelativeLayout을 고수하기로 결정한 경우 관련없는 두 개의 컨트롤 그룹이있는 것이 문제입니다. 대신

bExit <- bContactus <- bInquiry 

bServices <- bTraining 
^ 
| 
bAboutUs <- imageView1 

은 다음과 같이해야한다 :

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