为什么将设备语言更改为RTL语言时,片段/活动布局看起来不好?

问题描述 投票:0回答:1

我构建了一个应用程序(用于Android练习),并且为了支持LTRRTL语言,我使用了[[start和end。我还在清单文件中设置了[[android:supportsRtl =“ true”。当设备设置为LTR语言时,所有文本看起来很好,并且向左对齐很好。 但是,当将设备语言更改为RTL语言时,所有文本似乎都不好,并且没有在右侧对齐(也许某些TextView是对齐的,而有些则不是)。另外,似乎[ view完全是Wrong。我已经附上了两个截屏(两种语言)。我要求您的帮助,因为我不明白自己在做什么。还附带了3个代码片段(一个用于所有布局,第二个用于RecyclerView中的项目,第三个用于Spinner:

<?xml version="1.0" encoding="utf-8"?> <androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:background="@color/backgroundColor"> <Spinner android:id="@+id/spinner" android:layout_width="0dp" android:layout_height="48dp" android:layout_marginStart="3dp" android:layout_marginTop="5dp" android:layout_marginEnd="3dp" android:background="@null" android:dropDownWidth="120dp" android:dropDownVerticalOffset="96dp" android:gravity="center" android:visibility="invisible" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" /> <com.example.currencyconvertor.MultiButton android:id="@+id/multiButton" android:layout_width="300dp" android:layout_height="50dp" android:layout_marginTop="15dp" app:activeButtonIndex="0" app:backgroundSelector="@drawable/multi_button_background_selector" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@id/spinner" app:numOfButtons="2" app:reversedOrder="false" android:visibility="gone" app:textColorSelector="@drawable/multi_button_text_color" /> <TextView android:id="@+id/textView1" android:layout_width="80dp" android:layout_height="wrap_content" android:layout_marginStart="3dp" android:layout_marginTop="22dp" android:textColor="@color/titleTextColor" android:textSize="13sp" app:layout_constraintEnd_toStartOf="@id/textView2" app:layout_constraintHorizontal_chainStyle="spread_inside" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@id/multiButton" tools:text="TextView1" /> <TextView android:id="@+id/textView2" android:layout_width="80dp" android:layout_height="wrap_content" android:text="Symbol" android:textColor="@color/titleTextColor" android:textSize="13sp" app:layout_constraintEnd_toStartOf="@id/textView3" app:layout_constraintStart_toEndOf="@id/textView1" app:layout_constraintTop_toTopOf="@id/textView1" tools:text="TextView2" /> <TextView android:id="@+id/textView3" android:layout_width="80dp" android:layout_height="wrap_content" android:textColor="@color/titleTextColor" android:textSize="13sp" app:layout_constraintEnd_toStartOf="@id/textView4" app:layout_constraintStart_toEndOf="@id/textView2" app:layout_constraintTop_toTopOf="@id/textView1" app:layout_goneMarginEnd="3dp" tools:text="TextView3" /> <TextView android:id="@+id/textView4" android:layout_width="80dp" android:layout_height="wrap_content" android:layout_marginEnd="3dp" android:textColor="@color/titleTextColor" android:textSize="13sp" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toEndOf="@id/textView3" app:layout_constraintTop_toTopOf="@id/textView1" android:visibility="gone" tools:text="TextView4" /> <androidx.recyclerview.widget.RecyclerView android:id="@+id/recyclerView" android:layout_width="0dp" android:layout_height="0dp" android:layout_marginStart="3dp" android:layout_marginTop="7dp" android:layout_marginEnd="3dp" android:visibility="visible" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@id/textView1" tools:listitem="@layout/relative_currency_rate_row" /> <ProgressBar android:id="@+id/progressBar" android:layout_width="wrap_content" android:layout_height="wrap_content" android:maxHeight="200dp" android:maxWidth="200dp" android:visibility="visible" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@id/textView1" /> </androidx.constraintlayout.widget.ConstraintLayout> RecyclerView项目的代码: <?xml version="1.0" encoding="utf-8"?> <androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="40dp" android:layout_marginBottom="1dp" android:background="@color/rowColor" xmlns:app="http://schemas.android.com/apk/res-auto"> <androidx.constraintlayout.widget.ConstraintLayout android:id="@+id/container" android:layout_width="80dp" android:layout_height="wrap_content" app:layout_constraintStart_toStartOf="parent" app:layout_constraintEnd_toStartOf="@id/targetCountryTextView" app:layout_constraintHorizontal_chainStyle="spread_inside" tools:ignore="MissingConstraints"> <ImageView android:id="@+id/countryFlagImageView" android:layout_width="32dp" android:layout_height="32dp" app:layout_constraintStart_toStartOf="@id/container" app:layout_constraintTop_toTopOf="parent" app:layout_constraintBottom_toBottomOf="parent" android:src="@drawable/ic_launcher_background" android:paddingEnd="4dp" /> <TextView android:id="@+id/currencyTextView" android:layout_width="wrap_content" android:layout_height="wrap_content" app:layout_constraintStart_toEndOf="@id/countryFlagImageView" app:layout_constraintTop_toTopOf="parent" app:layout_constraintBottom_toBottomOf="parent" android:layout_marginStart="2dp" android:layout_marginTop="13dp" android:layout_marginBottom="12dp" android:textSize="13sp" android:text="USA" android:textColor="@color/currencyRowTextColor"/> </androidx.constraintlayout.widget.ConstraintLayout> <TextView android:id="@+id/targetCountryTextView" android:layout_width="80dp" android:layout_height="wrap_content" app:layout_constraintStart_toEndOf="@id/container" app:layout_constraintEnd_toStartOf="@id/rateTextView" app:layout_constraintTop_toTopOf="parent" app:layout_constraintBottom_toBottomOf="parent" android:layout_marginTop="13dp" android:layout_marginBottom="12dp" android:textSize="13sp" android:text="Dollar" android:textColor="@color/currencyRowTextColor" /> <TextView android:id="@+id/rateTextView" android:layout_width="80dp" android:layout_height="wrap_content" app:layout_constraintStart_toEndOf="@id/targetCountryTextView" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintTop_toTopOf="parent" app:layout_constraintBottom_toBottomOf="parent" android:layout_marginTop="13dp" android:layout_marginBottom="12dp" android:textSize="13sp" android:text="0.417" android:textColor="@color/currencyRowTextColor" /> </androidx.constraintlayout.widget.ConstraintLayout>
微调项的代码:

<?xml version="1.0" encoding="utf-8"?> <androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent" android:layout_height="match_parent" android:background="@color/rowColor"> <ImageView android:id="@+id/flagImageView" android:layout_width="48dp" android:layout_height="48dp" app:layout_constraintEnd_toStartOf="@+id/countryTextView" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" app:layout_constraintBottom_toBottomOf="parent" android:padding="4dp" app:srcCompat="@drawable/default_glag" android:textColor="@color/currencyRowTextColor"/> <TextView android:id="@+id/countryTextView" android:layout_width="wrap_content" android:layout_height="0dp" app:layout_constraintTop_toTopOf="parent" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintStart_toEndOf="@id/flagImageView" android:layout_marginStart="30dp" android:gravity="center" android:textSize="17sp" android:textColor="@color/currencyRowTextColor"/> <TextView android:id="@+id/currencyTextView" android:layout_width="wrap_content" android:layout_height="0dp" app:layout_constraintTop_toTopOf="parent" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintStart_toEndOf="@id/countryTextView" android:layout_marginStart="5dp" android:gravity="center" android:text="countryCurrencyTextView" android:textSize="17sp" android:textColor="@color/currencyRowTextColor"/> <ImageView android:layout_width="48dp" android:layout_height="48dp" app:layout_constraintTop_toTopOf="parent" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" android:layout_marginEnd="4dp" android:src="@mipmap/ic_arrow_drop_down"/> </androidx.constraintlayout.widget.ConstraintLayout>[![enter image description here][1]][1]

LTR

RTL

java android android-layout user-interface android-xml
1个回答
0
投票
我希望是有用的;)
© www.soinside.com 2019 - 2024. All rights reserved.