2015-12-22 3 views
5

Похоже, что направление макета всех элементов GUI теперь контролируется системным языком. Когда это справа налево, все меню, диалоги, окна сообщений и т. Д. Появляются справа налево. Это ужасно.Изменение направления расположения RTL LTR

Приложение имеет функцию локализующей встроенную в ("выбрать страну) Как я могу сделать локализацию приложения управлять графическим интерфейсом приложения, а не системным языком устройства?

ответ

1

Существует долгий путь впереди вам нужно будет определить настройки устройства в своем классе «Приложение», а затем применить определенные локали и макеты в коде. Затем вам нужно обработать onConfigurationChanged для каждого действия, чтобы обрабатывать событие изменения конфигурации layoutdirection | locale и обрабатывать тем самым перезагружая свои действия, чтобы они выбирали новые изменения во время выполнения, чтобы получать правильные ресурсы из папки макета на лету, не закрывая и не открывая приложение. Честно говоря, это нехорошая поездка especiall у перегрузочную деятельность часть, которая будет производить некоторые странное поведение и ошибки .. но это выполнимо в конце концов ..

Проверить это для получения дополнительной информации:

https://github.com/aleung/RunningCadence/blob/master/RunningCadence/src/leoliang/runningcadence/Application.java

https://github.com/aleung/RunningCadence/blob/master/RunningCadence/src/leoliang/runningcadence/PreferenceActivity.java

Смежные вопросы