0

내 응용 프로그램의 상대 레이아웃에 문제가 있습니다. 문제는 20 가지 이상의 다른 활동과 단편에서 유사한 레이아웃을 사용하는 한 활동과 한 조각에만 있습니다. 내 XML 디자인에서 레이아웃을 다음과 같이 잘 나타납니다.런타임에 상대 레이아웃이 엉망입니다.

enter image description here

그러나, 실행시, 레이아웃 디자인은 엉망이된다. 다음은 런타임 중 레이아웃의 스크린 샷입니다. enter image description here

왜이 문제가 있습니까? 여기 내 레이아웃이 있습니다.

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:orientation="vertical" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:background="@color/white"> 

    <android.support.v7.widget.Toolbar 
     android:id="@+id/toolbar" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:background="@drawable/moments_toolbar_background" 
     android:minHeight="?attr/actionBarSize"> 

     <include layout="@layout/toolbar_ollamoments_comment" /> 

    </android.support.v7.widget.Toolbar> 

    <ScrollView 
     android:layout_width="match_parent" 
     android:layout_height="match_parent"> 

     <LinearLayout 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:orientation="vertical"> 

      <RelativeLayout 
       android:layout_width="match_parent" 
       android:layout_height="70dp" 
       android:gravity="left"> 

       <ImageView 
        android:id="@+id/settingsImageViewAccount" 
        android:layout_width="16dp" 
        android:layout_height="16dp" 
        android:layout_marginLeft="20dp" 
        android:layout_marginStart="20dp" 
        android:layout_marginEnd="20dp" 
        android:layout_marginRight="20dp" 
        android:src="@mipmap/ic_olla_settings_moments_private" 
        android:layout_centerVertical="true" 
        android:layout_alignParentLeft="true" 
        android:layout_alignParentStart="true"/> 

       <TextView 
        android:id="@+id/accountSettingsTextViewEditUsername" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:layout_centerVertical="true" 
        android:text="Make profile private" 
        android:layout_marginLeft="5dp" 
        android:textSize="@dimen/text_size_medium" 
        android:textColor="@color/settingsMoodTextColor" 
        android:layout_toRightOf="@+id/settingsImageViewAccount" 
        android:layout_toLeftOf="@+id/momentSettingsSwitchProfilePrivacy" 
        android:layout_toStartOf="@+id/momentSettingsSwitchProfilePrivacy" /> 

       <android.support.v7.widget.SwitchCompat 
        android:id="@+id/momentSettingsSwitchProfilePrivacy" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:layout_alignParentRight="true" 
        android:layout_marginRight="15dp" 
        android:layout_centerVertical="true" 
        android:theme="@style/CustomSwitch" 
        android:checked="true" /> 

       <View 
        android:layout_width="wrap_content" 
        android:layout_height="1dp" 
        android:layout_alignParentBottom="true" 
        android:layout_alignParentEnd="true" 
        android:layout_alignParentRight="true" 
        android:background="@color/ollamoments_options_divider_color" 
        android:layout_alignParentLeft="true" 
        android:layout_alignParentStart="true" 
        android:layout_marginLeft="15dp" 
        android:layout_marginRight="15dp" 
        android:layout_marginEnd="15dp" 
        android:layout_marginStart="15dp"/> 

      </RelativeLayout> 

      <RelativeLayout 
       android:layout_width="match_parent" 
       android:layout_height="70dp"> 

       <ImageView 
        android:id="@+id/settingsImageViewPhoneNumber" 
        android:layout_width="16dp" 
        android:layout_height="16dp" 
        android:layout_marginLeft="20dp" 
        android:layout_marginStart="20dp" 
        android:layout_marginEnd="20dp" 
        android:layout_marginRight="20dp" 
        android:src="@mipmap/ic_olla_settings_moments_message" 
        android:layout_centerVertical="true" 
        android:layout_alignParentLeft="true" 
        android:layout_alignParentStart="true"/> 

       <TextView 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:layout_centerVertical="true" 
        android:text="Show my phone number on my public profile" 
        android:layout_marginLeft="5dp" 
        android:textSize="@dimen/text_size_medium" 
        android:textColor="@color/settingsMoodTextColor" 
        android:layout_toRightOf="@+id/settingsImageViewPhoneNumber"/> 
<!-- 
       android:layout_toLeftOf="@+id/momentSettingsSwitchMessages" 
       android:layout_toStartOf="@+id/momentSettingsSwitchMessages"--> 

       <android.support.v7.widget.SwitchCompat 
        android:id="@+id/momentSettingsSwitchPhoneNumber" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:layout_alignParentRight="true" 
        android:layout_marginRight="15dp" 
        android:layout_centerVertical="true" 
        android:theme="@style/CustomSwitch" 
        android:checked="true" /> 

       <View 
        android:layout_width="wrap_content" 
        android:layout_height="1dp" 
        android:layout_alignParentBottom="true" 
        android:layout_alignParentEnd="true" 
        android:layout_alignParentRight="true" 
        android:background="@color/ollamoments_options_divider_color" 
        android:layout_alignParentLeft="true" 
        android:layout_alignParentStart="true" 
        android:layout_marginLeft="15dp" 
        android:layout_marginRight="15dp" 
        android:layout_marginEnd="15dp" 
        android:layout_marginStart="15dp"/> 

      </RelativeLayout> 

      <RelativeLayout 
       android:layout_width="match_parent" 
       android:layout_height="70dp"> 

       <ImageView 
        android:id="@+id/settingsImageViewChats" 
        android:layout_width="16dp" 
        android:layout_height="16dp" 
        android:layout_marginLeft="20dp" 
        android:layout_marginStart="20dp" 
        android:layout_marginEnd="20dp" 
        android:layout_marginRight="20dp" 
        android:src="@mipmap/ic_olla_settings_moments_message" 
        android:layout_centerVertical="true" 
        android:layout_alignParentLeft="true" 
        android:layout_alignParentStart="true"/> 

       <TextView 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:layout_centerVertical="true" 
        android:text="Allow people to message me" 
        android:layout_marginLeft="5dp" 
        android:textSize="@dimen/text_size_medium" 
        android:textColor="@color/settingsMoodTextColor" 
        android:layout_toRightOf="@+id/settingsImageViewChats" 
        android:layout_toLeftOf="@+id/momentSettingsSwitchMessages" 
        android:layout_toStartOf="@+id/momentSettingsSwitchMessages" /> 

       <android.support.v7.widget.SwitchCompat 
        android:id="@+id/momentSettingsSwitchMessages" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:layout_alignParentRight="true" 
        android:layout_marginRight="15dp" 
        android:layout_centerVertical="true" 
        android:theme="@style/CustomSwitch" 
        android:checked="true" /> 

       <View 
        android:layout_width="wrap_content" 
        android:layout_height="1dp" 
        android:layout_alignParentBottom="true" 
        android:layout_alignParentEnd="true" 
        android:layout_alignParentRight="true" 
        android:background="@color/ollamoments_options_divider_color" 
        android:layout_alignParentLeft="true" 
        android:layout_alignParentStart="true" 
        android:layout_marginLeft="15dp" 
        android:layout_marginRight="15dp" 
        android:layout_marginEnd="15dp" 
        android:layout_marginStart="15dp"/> 

      </RelativeLayout> 

      <RelativeLayout 
       android:layout_width="match_parent" 
       android:layout_height="70dp"> 

       <ImageView 
        android:id="@+id/settingsImageViewMoments" 
        android:layout_width="16dp" 
        android:layout_height="16dp" 
        android:layout_marginLeft="20dp" 
        android:layout_marginStart="20dp" 
        android:layout_marginEnd="20dp" 
        android:layout_marginRight="20dp" 
        android:src="@mipmap/ic_olla_group" 
        android:layout_centerVertical="true" 
        android:layout_alignParentLeft="true" 
        android:layout_alignParentStart="true"/> 

       <TextView 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:layout_centerVertical="true" 
        android:text="Allow moments to be discoverable for trending" 
        android:layout_marginLeft="5dp" 
        android:textSize="@dimen/text_size_medium" 
        android:textColor="@color/settingsMoodTextColor" 
        android:layout_toRightOf="@+id/settingsImageViewMoments" 
        android:layout_marginRight="5dp" 
        android:layout_marginEnd="5dp" 
        android:layout_toLeftOf="@+id/momentSettingsSwitchDiscoverable" 
        android:layout_toStartOf="@+id/momentSettingsSwitchDiscoverable" /> 

       <android.support.v7.widget.SwitchCompat 
        android:id="@+id/momentSettingsSwitchDiscoverable" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:layout_alignParentRight="true" 
        android:layout_marginRight="15dp" 
        android:layout_centerVertical="true" 
        android:theme="@style/CustomSwitch" 
        android:checked="true" /> 

       <View 
        android:layout_width="wrap_content" 
        android:layout_height="1dp" 
        android:layout_alignParentBottom="true" 
        android:layout_alignParentEnd="true" 
        android:layout_alignParentRight="true" 
        android:background="@color/ollamoments_options_divider_color" 
        android:layout_alignParentLeft="true" 
        android:layout_alignParentStart="true" 
        android:layout_marginLeft="15dp" 
        android:layout_marginRight="15dp" 
        android:layout_marginEnd="15dp" 
        android:layout_marginStart="15dp"/> 

      </RelativeLayout> 

      <RelativeLayout 
       android:layout_width="match_parent" 
       android:layout_height="70dp"> 

       <ImageView 
        android:id="@+id/settingsImageViewSupport" 
        android:layout_width="16dp" 
        android:layout_height="16dp" 
        android:layout_marginLeft="20dp" 
        android:layout_marginStart="20dp" 
        android:layout_marginEnd="20dp" 
        android:layout_marginRight="20dp" 
        android:src="@mipmap/ic_olla_settings_moments_tagged" 
        android:layout_centerVertical="true" 
        android:layout_alignParentLeft="true" 
        android:layout_alignParentStart="true"/> 

       <TextView 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:layout_centerVertical="true" 
        android:text="Hide photos I'm tagged in" 
        android:layout_marginLeft="5dp" 
        android:layout_marginEnd="5dp" 
        android:layout_marginRight="5dp" 
        android:textSize="@dimen/text_size_medium" 
        android:textColor="@color/settingsMoodTextColor" 
        android:layout_toRightOf="@+id/settingsImageViewSupport" 
        android:layout_toLeftOf="@+id/momentSettingsSwitchHidePhotos" 
        android:layout_toStartOf="@+id/momentSettingsSwitchHidePhotos" /> 

       <android.support.v7.widget.SwitchCompat 
        android:id="@+id/momentSettingsSwitchHidePhotos" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:layout_alignParentRight="true" 
        android:layout_marginRight="15dp" 
        android:layout_centerVertical="true" 
        android:theme="@style/CustomSwitch" 
        android:checked="true" /> 

       <View 
        android:layout_width="wrap_content" 
        android:layout_height="1dp" 
        android:layout_alignParentBottom="true" 
        android:layout_alignParentEnd="true" 
        android:layout_alignParentRight="true" 
        android:background="@color/ollamoments_options_divider_color" 
        android:layout_alignParentLeft="true" 
        android:layout_alignParentStart="true" 
        android:layout_marginLeft="15dp" 
        android:layout_marginRight="15dp" 
        android:layout_marginEnd="15dp" 
        android:layout_marginStart="15dp"/> 

      </RelativeLayout> 

      <RelativeLayout 
       android:layout_width="match_parent" 
       android:layout_height="70dp"> 

       <ImageView 
        android:id="@+id/settingsImageViewNotifications" 
        android:layout_width="16dp" 
        android:layout_height="16dp" 
        android:layout_marginLeft="20dp" 
        android:layout_marginStart="20dp" 
        android:layout_marginEnd="20dp" 
        android:layout_marginRight="20dp" 
        android:src="@mipmap/ic_olla_settings_moments_location" 
        android:layout_centerVertical="true" 
        android:layout_alignParentLeft="true" 
        android:layout_alignParentStart="true"/> 

       <TextView 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:layout_centerVertical="true" 
        android:text="Show my location" 
        android:layout_marginLeft="5dp" 
        android:layout_marginStart="5dp" 
        android:textSize="@dimen/text_size_medium" 
        android:textColor="@color/settingsMoodTextColor" 
        android:layout_toRightOf="@+id/settingsImageViewNotifications" 
        android:layout_toLeftOf="@+id/momentSettingsSwitchLocation" 
        android:layout_toStartOf="@+id/momentSettingsSwitchLocation" /> 

       <android.support.v7.widget.SwitchCompat 
        android:id="@+id/momentSettingsSwitchLocation" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:layout_alignParentRight="true" 
        android:layout_marginRight="15dp" 
        android:layout_centerVertical="true" 
        android:theme="@style/CustomSwitch" 
        android:checked="true" /> 

       <View 
        android:layout_width="wrap_content" 
        android:layout_height="1dp" 
        android:layout_alignParentBottom="true" 
        android:layout_alignParentEnd="true" 
        android:layout_alignParentRight="true" 
        android:background="@color/ollamoments_options_divider_color" 
        android:layout_alignParentLeft="true" 
        android:layout_alignParentStart="true" 
        android:layout_marginLeft="15dp" 
        android:layout_marginRight="15dp" 
        android:layout_marginEnd="15dp" 
        android:layout_marginStart="15dp"/> 

      </RelativeLayout> 

      <RelativeLayout 
       android:layout_width="match_parent" 
       android:layout_height="70dp"> 

       <ImageView 
        android:id="@+id/settingsImageViewBlock" 
        android:layout_width="16dp" 
        android:layout_height="16dp" 
        android:layout_marginLeft="20dp" 
        android:layout_marginStart="20dp" 
        android:layout_marginEnd="20dp" 
        android:layout_marginRight="20dp" 
        android:src="@mipmap/ic_olla_group" 
        android:layout_centerVertical="true" 
        android:layout_alignParentLeft="true" 
        android:layout_alignParentStart="true"/> 

       <TextView 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:layout_centerVertical="true" 
        android:text="Block users" 
        android:layout_marginLeft="5dp" 
        android:layout_marginStart="5dp" 
        android:textSize="@dimen/text_size_medium" 
        android:textColor="@color/settingsMoodTextColor" 
        android:layout_toRightOf="@+id/settingsImageViewBlock" /> 

       <View 
        android:layout_width="wrap_content" 
        android:layout_height="1dp" 
        android:layout_alignParentBottom="true" 
        android:layout_alignParentEnd="true" 
        android:layout_alignParentRight="true" 
        android:background="@color/ollamoments_options_divider_color" 
        android:layout_alignParentLeft="true" 
        android:layout_alignParentStart="true" 
        android:layout_marginLeft="15dp" 
        android:layout_marginRight="15dp" 
        android:layout_marginEnd="15dp" 
        android:layout_marginStart="15dp"/> 

      </RelativeLayout> 

      <RelativeLayout 
       android:layout_width="match_parent" 
       android:layout_height="70dp"> 

       <ImageView 
        android:id="@+id/settingsImageViewReccomendations" 
        android:layout_width="16dp" 
        android:layout_height="16dp" 
        android:layout_marginLeft="20dp" 
        android:layout_marginStart="20dp" 
        android:layout_marginEnd="20dp" 
        android:layout_marginRight="20dp" 
        android:src="@mipmap/ic_olla_group" 
        android:layout_centerVertical="true" 
        android:layout_alignParentLeft="true" 
        android:layout_alignParentStart="true"/> 

       <TextView 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:layout_centerVertical="true" 
        android:text="Recommend people to follow" 
        android:layout_marginLeft="5dp" 
        android:layout_marginStart="5dp" 
        android:layout_marginRight="5dp" 
        android:layout_marginEnd="5dp" 
        android:textSize="@dimen/text_size_medium" 
        android:textColor="@color/settingsMoodTextColor" 
        android:layout_toRightOf="@+id/settingsImageViewReccomendations" 
        android:layout_toLeftOf="@+id/momentSettingsSwitchRecommend" 
        android:layout_toStartOf="@+id/momentSettingsSwitchRecommend" /> 

       <android.support.v7.widget.SwitchCompat 
        android:id="@+id/momentSettingsSwitchRecommend" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:layout_alignParentRight="true" 
        android:layout_marginRight="15dp" 
        android:layout_centerVertical="true" 
        android:theme="@style/CustomSwitch" 
        android:checked="true" /> 

       <View 
        android:layout_width="wrap_content" 
        android:layout_height="1dp" 
        android:layout_alignParentBottom="true" 
        android:layout_alignParentEnd="true" 
        android:layout_alignParentRight="true" 
        android:background="@color/ollamoments_options_divider_color" 
        android:layout_alignParentLeft="true" 
        android:layout_alignParentStart="true" 
        android:layout_marginLeft="15dp" 
        android:layout_marginRight="15dp" 
        android:layout_marginEnd="15dp" 
        android:layout_marginStart="15dp"/> 

      </RelativeLayout> 

     </LinearLayout> 

    </ScrollView> 

</LinearLayout> 

답변

1

TextView를 ImageView 오른쪽과 스위치 왼쪽에 정렬 할 수 없습니다. 뷰 중 하나와 만 정렬 할 수 있습니다. 미리보기는 왼쪽 정렬로 표시하지만 전화기는 오른쪽 정렬로 표시합니다.

내 권장 사항은 텍스트를 ImageView에 정렬하고 대략 TextView 오른쪽에 스위치 크기만큼 여백을 추가하는 것입니다.

<TextView 
    android:id="@+id/accountSettingsTextViewEditUsername" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_centerVertical="true" 
    android:text="Make profile private" 
    android:layout_marginLeft="5dp" 
    android:textSize="@dimen/text_size_medium" 
    android:textColor="@color/settingsMoodTextColor" 
    android:layout_toRightOf="@+id/settingsImageViewAccount" 
    android:layout_marginRight="48dp" /> 

시도해보십시오. 텍스트가 스위치로 실행중인 경우 48dp를 조정해야 할 수도 있습니다. 다른 설정에 대해서도 비슷한 변경을 원할 것입니다. 텍스트보기도 좋습니다.

관련 문제