Пользовательская позиция подсказки в поле «Редактировать текст».

Мне было интересно, есть ли какой-нибудь способ, чтобы я мог получить подсказку в нижней части окна «Редактировать текст», а затем пользователь начал вводить текст в верхней части окна.

В качестве бонусного вопроса, есть ли способ сделать подсказку НЕ исчезнуть после того, как пользователь начнет вводить текст.

Solutions Collecting From Web of "Пользовательская позиция подсказки в поле «Редактировать текст»."

Вы можете установить положение текста, используя атрибут «гравитация» (как указано на странице http://developer.android.com/reference/android/widget/TextView.html#setGravity(int) ). Таким образом, чтобы текст был внизу, вы имели бы;

android:gravity="bottom" 

И ответить на ваш бонусный вопрос; Нет, вы не можете отобразить подсказку, когда текст вводится в текстовое представление редактирования. Отображение подсказки только в том случае, когда поле пусто, – это определенное поведение, указанное на странице http://developer.android.com/reference/android/widget/TextView.html#setHint (int)

(И да, я знаю, что ссылки предназначены для TextView, но EditText выводит все свои функции «позиционирования текста и подсказки» из TextView).

Проблема с использованием android: gravity and android: подсказка заключается в том, что они взаимосвязаны относительно положения курсора. Когда вы устанавливаете подсказку с использованием силы тяжести и начинаете вводить текст, она вводится в том же положении, что и ваш намек, который Это проблема, если вы хотите, чтобы она начиналась традиционно в верхнем левом углу.

На самом деле есть способ предотвратить намек от сокрытия, и это круто 🙂

Это дает вам плавающий ярлык с гладкой анимацией очень легко, и это от самого андроида. Никаких дополнительных библиотек и всего.

Попробуй это:

 <android.support.design.widget.TextInputLayout android:layout_width="match_parent" android:layout_height="wrap_content"> <EditText android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="Touch me and I'll fly!"/> </android.support.design.widget.TextInputLayout> 

Вы можете изменить поведение, используя другие теги xml, такие как android:gravity="start|center|end" и другие.

В качестве бонуса вы можете использовать сообщения об ошибках 🙂 Вот ссылка на этот вопрос: https://stackoverflow.com/a/30953551/6474744

И жаль, что у меня недостаточно репутаций для размещения изображений, поэтому помогите себе:

http://i0.wp.com/androidlift.info/wp-content/uploads/2015/09/Screenshot_2015-09-28-17-03-561.png

Наслаждаться 🙂