У меня есть форма как ConstraintLayout
, например:
![enter image description here](https://i.stack.imgur.com/us6iR.png)
«Полное имя» и «Пароль» выровнены по правому краю, а «Полное имя» обеспечивает поле от ConstraintLayout
:
![enter image description here](https://i.stack.imgur.com/bMJ7P.png)
Пока все в порядке, но мне интересно, как правильно обрабатывать случай, когда мне нужно программно изменить эти тексты. Если «Полное имя» станет больше или меньше, «Пароль» останется выровненным:
![Full name gets bigger and it's still on screen](https://i.stack.imgur.com/RRNFh.png)
НО, если «Пароль» изменит свой размер, он выйдет из экрана:
![Password gets bigger and gets out of screen](https://i.stack.imgur.com/PeqWu.png)
Я пытался использовать Barrier
, чтобы получить левый край как "Полного имени", так и "Пароля", но я не смог заставить его работать, я думаю, что Barrier
может относиться только к другим элементам и не выравнивать элементы барьера по краям (поправьте меня, если я ошибаюсь, пожалуйста).
Этот случай особенно важен для меня, чтобы не создавать несколько разных макетов для языков, в которых перевод «ФИО» и «Пароль» может изменить их размеры и вывести текст из экрана.
Итак, как я могу избежать выхода "Полного имени" и "Пароля" из экрана, если их текст изменяется, а также с расширением EditText
к правому краю, как на рисунке?