Intereting Posts

Изменение направления макета RTL LTR

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

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

Перед вами впереди долгий путь. Вам нужно будет определить настройки устройства в своем классе «Приложение», а затем применять определенные локали и макеты в коде. Затем вам нужно обработать onConfigurationChanged для каждого действия для обработки «layoutdirection | Locale "и обработать их самостоятельно, перезагружая свои действия, чтобы они выбирали новые изменения во время выполнения, чтобы получать правильные ресурсы из папки макета на лету, не закрывая и не открывая приложение. Честно говоря, это нехорошая поездка, особенно часть деятельности по перезагрузке, которая приведет к некоторым странным поведением и ошибкам. Но в конце концов это выполнимо.

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

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