0

私のアプリで相対レイアウトに問題があります。この問題は、私が20種類以上の他のアクティビティやフラグメントで同様のレイアウトを使用しているにもかかわらず、1つのアクティビティと1つのフラグメントでのみ発生します。私の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の右側とスイッチの左側に揃えることはできません。ビューの1つのみにアライメントすることができます。プレビューでは左揃えとして表示されますが、電話機では右揃えで表示されます。

テキストを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を調整する必要があります。あなたは明らかに他の設定のための同様の変更をしたいと思います.Moodテキストビューも同様です。

関連する問題