Как добавить отступы к подсказке (метке) текстового поля с контуром material design

#android #xml #textinput #material-components-android

#Android #xml #textinput #материал-компоненты-android

Вопрос:

Я хочу добавить левое дополнение к верхней метке текстового поля с контуром material design.

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

пожалуйста, проверьте изображение ниже, чтобы увидеть, о какой метке я говорю

введите описание изображения здесь

Ответ №1:

Я не думаю, что возможно, чтобы подсказка TextView была посередине, только слева или справа, в зависимости от локализации вашего языка.

РЕДАКТИРОВАТЬ: С учетом сказанного, почему бы не попробовать добавить предыдущие / последующие пробелы (символы пробела), чтобы как-то изменить выравнивание подсказки внутри вашего TextView ?

Например, если вы хотите, чтобы ваш текст был выровнен по левому краю, добавьте в свой XML следующее

 android:gravity="start"
android:hint="  This is my hint"
 

В противном случае, если вы хотите, чтобы ваш текст был выровнен по правому краю

 android:gravity="end"
android:hint="This is my hint   "
 

Примечание: я добавил три пробела, чтобы подчеркнуть пустые места внутри подсказки, но вы можете поиграть с нужным количеством для вас, ofc.

Комментарии:

1. да, спасибо за информацию. Я не хочу, чтобы оно было точно посередине, просто хотел дать немного левого поля, чтобы подсказка была не так близко к левой границе текстового поля.

2. @PedroSantos в таком случае, вы пробовали добавлять предыдущие / последующие пробелы? т. е. " This is my hint " . Это определенно хак, но когда сомневаешься… Я отредактирую свой ответ, чтобы отразить эту идею.

3. да, я пробовал это, но подсказка на белом фоне с самого начала преобразует строку прямоугольника, поэтому контур строки не виден в этом пустом пространстве и выглядит странно, это вроде как работает, он перемещает текст туда, куда я хочу, но поле выглядит неправильно.

4. Да, как уже упоминалось, это определенно хак, и я бы не ожидал, что он будет работать великолепно:/ но, надеюсь, это поможет вам приблизиться к тому виду, который вы ищете. Я был бы рад, если бы вы могли пометить мой ответ как полезный или даже принять его, если в итоге вы найдете то, что хотите!

Ответ №2:

Вы можете добавить отступы к началу / слева от TextInputEditText

 android:paddingStart="30dp"
android:paddingLeft="30dp"