У меня проблема с компоновкой/выравниванием с TextView, которой я еще не смог найти решение, т. Е. Я хочу выровнять текст вне центра внутри TextView горизонтально.Нецентрированное выравнивание текста внутри TextView
Чтобы дать немного больше контекста, у меня есть ImageView и сторона TextView бока, то ImageView прикасаясь к левому краю экрана и TextView заполняющего остальной части экрана по горизонтали, как это:
[-img-|-----text-----]
TextView сконфигурирован как singleLine = "true" и maxLines = "1", так что он будет усечен, если он слишком длинный для его горизонтального пространства. Моя цель - выровнять текст в центре экрана, а не в центре TextView, потому что на экране есть другие элементы, которые выровнены по центру, и мне нужен текст, чтобы соответствовать этому.
Так что, если я использую гравитацию = «центр» на TextView, я получаю изображение выше, но то, что я на самом деле хочу
[-img-|--text--------]
Я попытался положить изображение и текст в RelativeLayout, так что TextView фактически касается обоих краев экрана, что делает то, что я хочу относительно выравнивания, за исключением того, что если текст достаточно длинный, первые символы будут скрыты от изображения, так как TextView находится за представлением изображения.
Я также экспериментировал с полями, дополнением и соединением, выведенным влево, но текст всегда центрирован относительно доступного пространства (которое я бы рассматривал ожидаемое поведение).
Есть ли какие-либо сведения о том, как достичь этого выравнивания, то есть относительно центра другого компонента, чем TextView, возможно, программно во время выполнения? Заранее благодарим за полезные советы.
Edit: пользователь Budius предложил использовать отступы вправо, чтобы достичь выравнивания по центру, который работает, но приводит к длинным текстам усекается до правого края TextView достигнута и я ищу решение, которое позволяет избежать, что , т. е., если это возможно, использует все пространство.
Вы можете добиться этого с FrameLayout, поставив TextView как первый view with width = match_parent и gravity = center, а затем ImageView с layout_gravity left и wrap_content width. Проблема заключается в длине текста, поскольку он может быть достаточно длинным, чтобы находиться под изображением. Надеюсь, это поможет. –
Благодарим вас за ответ, но этот подход является эквивалентом моей попытки помещать взгляды внутри RelativeLayout - возможность скрытия текста за изображением - это именно одна из проблем, которые я хотел бы исправить. – handtwerk