Установка layoutdirection с помощью supportsrtl = false

У меня есть приложение, в которое я не могу добавить supportsRtl = true

Поскольку для этого параметра установлено значение false, у меня есть два вопроса.

1) Можно ли программно установить supportsRtl true? 2) Это код, который не работает, когда supportsRtl = false

getWindow().getDecorView().setLayoutDirection(View.LAYOUT_DIRECTION_RTL);

Любые идеи относительно того, как я могу отобразить один файл макета в ltr / rtl, в то время как supportsRtl имеет значение false?

Почему именно у вас нет «свободы» добавить этот тег?

TheWanderer 17.10.2018 19:33

Это устаревшее приложение. Он распадается, когда я устанавливаю значение true. Потому что они сделали отдельные макеты для каждого файла. И они нигде не используют начальные и конечные атрибуты. Это довольно грустно, я застрял в этом затруднительном положении

Muhammad Ahmed AbuTalib 17.10.2018 19:40

это может быть много, но вам нужно исправить эти макеты.

TheWanderer 17.10.2018 19:40
1
3
288
1

Ответы 1

Установка направления только один макет на RTL не будет хорошей идеей, поскольку пользователям, которые используют направление RTL, необходимо будет видеть правильное направление текста для всех макетов действий.

Просто установите android:supportsRtl = "true" в AndroidManifest.xml, затем перейдите по ссылке:

Refactor -> Add RTL Support Where Possible 

Это удовлетворит ваши потребности, добавив RTL там, где это возможно.


Что касается атрибутов start-end на стороне xml, все, что вам нужно сделать, это:

Right-click on the project -> Replace in Path

Затем легко замените атрибуты start-end с помощью этого.

Другие вопросы по теме