Salam.Czy błąd Androida w rozkładzie "layout-ldltr" w stosunku do "layout-ldrtl" po zmianie orientacji?
W moim projekcie mam do tworzenia zarówno layout-ldltr
i layout-ldrtl
układów dla Right-To-Left
i Left-To-Right
językach.
Uruchamiam aplikację dla języka od prawej do lewej i wszystko jest dobrze. Ale po zmianie orientacji, układ obciążenia Android layout-ldltr
przeciwko layout-ldrtl
, chociaż obecny Locale
jest ustawiony na język RTL !!!
Jak rozwiązać ten problem ?!
W AndroidManifest.xml
<application
android:name=".QuranApplication"
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/AppTheme">
W layout-ldrtl\activity_main.xml
:
<LinearLayout 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:orientation="vertical"
android:layoutDirection="rtl">
<include layout="@layout/toolbar" />
<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/drawer_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="1"
android:layoutDirection="rtl">
<FrameLayout
android:id="@+id/content_frame"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layoutDirection="rtl"/>
<include
layout="@layout/list_view"
android:layout_width="@dimen/drawer_width"
android:layout_height="match_parent"
android:layout_gravity="start" />
</android.support.v4.widget.DrawerLayout>
UPDATE
Po @JohanShogun komentarza, zmienić android:layoutDirection="rtl"
do android:layoutDirection="locale"
i problem rozwiązany dla większości przedmiotów.
W pierwszym zdjęciu wszystkich elementów są pokazane bardzo dobre:
W trybie poziomym, w StickyListHeader list view w pozycji nagłówka, który wystaje na górze ekranu, Android używane od ltr układ !!! :
Dziękuję za odpowiedź. Dodałem android: atrybut layoutDirection, ale nie wpływa na ten problem. –
jeśli używasz atrybutu układu androida, możesz pominąć foldery przy pomocy zasobów rtl/ltr. Pokaż też swój kod z użyciem atrybutu – JohanShogun
również pamiętaj o umieszczeniu tego w manifeście aplikacji: android: supportsRtl = "true" (na poziomie aplikacji) http://developer.android.com/intl/es/guide /topics/manifest/application-element.html – JohanShogun