Intereting Posts
Изображения не загружаются в android 5.0, используя библиотеку picasso Съемный способ хранения (внешний) sdcard производителями Как нарисовать незаполненные цифры на Android? Почему бы не стандартные Android-эмуляторы? Разделители разделов Android GridView Применение плагина «kotlin-android» в мгновенном приложении приводит к тому, что «null не может быть применено к ненулевому типу com.android.build.gradleBasePlugin» NetBeans и останавливать / прерывать все Исключения? Когда действительно используется пакет savedInstanceState? Не удалось открыть Android 6.0: EACCES (Permission denied) Gradle, Android и местоположение SDK ANDROID_HOME Проверка доступности / доступности хоста на Android Android Retrofi 2, различия между addInterceptor & addNetworkInterceptor для редактирования ответов Есть ли на Android носители с открытым исходным кодом? Ошибка: Android-генератор: не удается разобрать SDK Как отключить эффект оранжевого круга при нажатии на ссылку, в WebView

Android определить, находится ли устройство в праве на левый язык / макет

Есть ли способ определить, находится ли устройство в праве на левый язык (что-то вроде арабского), в отличие от того, что слева направо (на английском)?

Необходимо что-то, совместимое со старыми уровнями API (до 10)

РЕШЕНИЕ

В конечном итоге я использовал метод xml в принятом ответе. Далее по строке я добавил код, указанный здесь, для случаев, когда у меня не было доступа к getResources ()

Идентификационный RTL-язык в Android

больше информации

Этот вопрос по-прежнему получает большой трафик; Что-то еще, о чем я хотел бы указать: когда я изначально спросил об этом, я думаю, что частично было бы полезно обратиться к показу разным указательным шевронам в RTL vs LTR – еще один гладкий способ достижения этого – разместить доступные ресурсы в стандартных и ldrtl каталогах – Означает, что код не требуется, чтобы определить, какой из них показывать!

Solutions Collecting From Web of "Android определить, находится ли устройство в праве на левый язык / макет"

Вы можете создать папку values-ldrtl с файлом xml с именем isrighttoleft.xml:

 <?xml version="1.0" encoding="utf-8"?> <resources> <bool name="is_right_to_left">true</bool> </resources> 

И в папке с вашими значениями тот же файл:

 <?xml version="1.0" encoding="utf-8"?> <resources> <bool name="is_right_to_left">false</bool> </resources> 

И, наконец, в Code:

 boolean isRightToLeft = getResources().getBoolean(R.bool.is_right_to_left); 

Значения-ldrtl будут использоваться только на устройстве, где конкретные настройки (например, язык) являются языками с правом налево.

Gr, немного длиннее googling, и я бы нашел его перед публикацией:

 if (ViewCompat.getLayoutDirection(getView()) == ViewCompat.LAYOUT_DIRECTION_LTR) { // ... } else { // ... } 

http://developer.android.com/reference/android/support/v4/view/ViewCompat.html#getLayoutDirection(android.view.View)

Если это по-прежнему получает значительный трафик, людям также следует рассмотреть Configuration.getLayoutDirection () для API 17+. Он вернет либо LayoutDirection.LTR, либо LayoutDirection.RTL. Я полагаю, что ViewCompat.getLayoutDirection (android.view.View) возвращает направление, которое фактически использовалось для компоновки определенного вида. Если вы делаете что-то странное, например, пытаясь определить, какой человек должен быть на какой стороне экрана чата (например, я), это может быть полезно.

Да, используйте функцию Bidi.getBaseLevel (), она вернет 0 слева направо и 1 справа налево.

http://developer.android.com/reference/java/text/Bidi.html#getBaseLevel ()