Search code examples
androidxmlandroid-layoutlocalizationandroid-relativelayout

XML get busted in arabic language


I have this xml hierarchy and in case of English it working absolutely fine. But when i change language to Arabic then its getting disturbed. I am using MarginStart and MarginEnd. But still its not working fine in case of Arabic.

XML File

 <TextView
                android:id="@+id/daily_intake"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_below="@+id/below_line"
                android:layout_centerHorizontal="true"
                android:layout_marginTop="10dp"
                android:text="@string/your_daily_intake_text"
                android:textColor="@color/default_text_color"
                android:textSize="16dp"
                android:textStyle="bold" />


            <RelativeLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_below="@id/daily_intake"
                android:layout_marginTop="4dp">

                <RelativeLayout
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_alignParentStart="true"
                    android:layout_marginStart="20dp">

                    <TextView
                        android:id="@+id/selector_text_111"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:text="@string/proteins_bar_text"
                        android:textColor="@color/default_text_color"
                        android:textSize="12dp"
                        android:textStyle="bold" />

                    <TextView
                        android:id="@+id/txtDailyProts"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_below="@id/selector_text_111"
                        android:layout_centerInParent="true"
                        android:text="@={bmiSummaryFragmentViewModel.proteins}"
                        android:textColor="@color/default_text_color" />


                </RelativeLayout>

                <RelativeLayout
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_centerInParent="true">

                    <TextView
                        android:id="@+id/selector_value_11"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:text="@string/carbohydrates_bar_text"
                        android:textColor="@color/default_text_color"
                        android:textSize="12dp"
                        android:textStyle="bold" />

                    <TextView
                        android:id="@+id/txtDailyCarbs"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_below="@id/selector_value_11"
                        android:layout_centerInParent="true"
                        android:text="@={bmiSummaryFragmentViewModel.carbohydrates}"
                        android:textColor="@color/default_text_color" />

                </RelativeLayout>

                <RelativeLayout
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_alignParentEnd="true"
                    android:layout_marginEnd="20dp">

                    <TextView
                        android:id="@+id/selector_value_113"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:text="@string/calories_bar_text"
                        android:textColor="@color/default_text_color"
                        android:textSize="12dp"
                        android:textStyle="bold" />

                    <TextView
                        android:id="@+id/txtDailyCals"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_below="@id/selector_value_113"
                        android:layout_centerInParent="true"
                        android:text="@={bmiSummaryFragmentViewModel.calories}"
                        android:textColor="@color/default_text_color" />


                </RelativeLayout>


            </RelativeLayout>

English output

Arabic Output

Please help if i am missing something in case of localization. I am doing localization in all over the app but getting problem here. Cannot figure out what is missing.


Solution

  • Here is the changed XML.

    <RelativeLayout
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_below="@id/daily_intake"
                android:layout_marginTop="4dp">
    
                <LinearLayout
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_alignParentStart="true"
                    android:layout_alignParentTop="true"
                    android:layout_marginStart="20dp"
                    android:orientation="vertical">
    
                    <TextView
                        android:id="@+id/selector_text_111"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:text="@string/proteins_bar_text"
                        android:textColor="@color/default_text_color"
                        android:textSize="12sp"
                        android:textStyle="bold" />
    
                    <TextView
                        android:id="@+id/txtDailyProts"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_gravity="center_horizontal"
                        android:text="@={bmiSummaryFragmentViewModel.proteins}"
                        android:textColor="@color/default_text_color" />
    
    
                </LinearLayout>
    
                <LinearLayout
                    android:id="@+id/relativeLayout"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_alignParentTop="true"
                    android:layout_centerHorizontal="true"
                    android:orientation="vertical">
    
                    <TextView
                        android:id="@+id/selector_value_11"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:text="@string/carbohydrates_bar_text"
                        android:textColor="@color/default_text_color"
                        android:textSize="12sp"
                        android:textStyle="bold" />
    
                    <TextView
                        android:id="@+id/txtDailyCarbs"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_gravity="center_horizontal"
                        android:text="@={bmiSummaryFragmentViewModel.carbohydrates}"
                        android:textColor="@color/default_text_color" />
    
                </LinearLayout>
    
                <LinearLayout
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_alignParentEnd="true"
                    android:layout_alignParentTop="true"
                    android:layout_marginEnd="20dp"
                    android:orientation="vertical">
    
                    <TextView
                        android:id="@+id/selector_value_113"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:text="@string/calories_bar_text"
                        android:textColor="@color/default_text_color"
                        android:textSize="12sp"
                        android:textStyle="bold" />
    
                    <TextView
                        android:id="@+id/txtDailyCals"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_gravity="center_horizontal"
                        android:text="@={bmiSummaryFragmentViewModel.calories}"
                        android:textColor="@color/default_text_color" />
    
                </LinearLayout>
    
            </RelativeLayout>