Подсказка EditText не отображается

Мой EditText, настроенный следующим образом, не будет показывать подсказку:

<EditText
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:gravity="right"
    android:hint="The hint..."
    android:scrollHorizontally="true"
    android:singleLine="true" />

Это работает, если я устанавливаю android:gravity="left" или удаляю атрибуты android:scrollHorizontally и android:singleLine, что нежелательно. Какие-либо предложения?


person venuko    schedule 31.08.2010    source источник
comment
Я могу подтвердить, что editText не отображает подсказку, когда gravity равно center или right и singleLine установлено. Я тоже ищу решение.   -  person Justin    schedule 12.11.2010
comment
Я больше не могу редактировать свой последний комментарий, но хочу отметить, что это известная проблема: code.google.com/p/android/issues/detail?id=7252   -  person Justin    schedule 12.11.2010


Ответы (10)


использование android:ellipsize="end" исправило это для меня Странная ошибка !! (но в Android много таких странных багов)

person Someone Somewhere    schedule 07.01.2012
comment
после добавления этого тега я вижу подсказку в эмуляторе, но все еще не повезло с реальным устройством (например, sony ericsson xperia) - person swiftBoy; 17.10.2012
comment
У меня работает свойство android:ellipsize... странно...! - person Vishal; 07.05.2015

В версии Lollipop текст по умолчанию и цвет текста подсказки белый для EditText. Итак, мы должны измениться вот так в EditText

android:textColorHint="@color/grey"
person lal    schedule 06.01.2015
comment
Работал на меня. Странное поведение. Только у одного из моих приложений была эта проблема, но она была решена этим. Интересно, что на самом деле происходит позади. - person March3April4; 27.11.2017

Я хотел, чтобы мое однострочное поле EditText прокручивалось, но также сохраняло подсказку справа. У меня была та же проблема, и я получил подсказку, сохранив gravity="right" и установив singleLine="true" и ellipsize="end".

person Kavi    schedule 14.01.2011

Вам нужно дать цвет текста, чтобы намекнуть

android:textColorHint="#000000"
person Ravi Yadav    schedule 01.10.2015
comment
Этого недостаточно для Android 2.3 (тестировал на HTS Desire S). Также следует добавить android:ellipsize=end. - person CoolMind; 18.01.2016

Нет необходимости в атрибуте android:scrollHorizontally. Удалите его. EditText — фиксированный элемент на экране. мы хотим, чтобы прокрутка макета содержала EditText. это тоже лучший дизайн. вы поставили android:ellipsize="end" вместо android:scrollHorizontally.

person Praveen    schedule 31.08.2010
comment
Нет, это не так. Если вы читали документацию developer.android.com/reference/android/, когда текст, который вы вводите, не помещается в поле, атрибут android:scrollHorizontally позволяет прокручивать текст внутри поля (конечно, без полос прокрутки). Это не имеет ничего общего с прокруткой макета. - person venuko; 31.08.2010

Использование android:ellipsize="end" устраняет очевидную ошибку платформы. К сожалению, Xperias по-прежнему плохо себя ведет :(

Я не нашел другого решения, кроме как:

if (android.os.Build.MANUFACTURER.matches(".*[Ss]ony.*"))
      editText.setGravity(Gravity.LEFT);
else
      editText.setGravity(Gravity.CENTER);
person user2008534    schedule 24.01.2013

Ниже сработало для меня:

<EditText
    android:id="@+id/UserText"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_alignParentTop="true"
    android:layout_alignRight="@+id/UserPassword"
    android:layout_marginTop="85dp"
    android:ems="10"
    android:hint="@string/UserHint"
    android:inputType="textPersonName"
    android:singleLine="true"
    android:text="@string/UserName" >

    <requestFocus />
</EditText>
person Hossa The Coder    schedule 11.12.2013

Вот как я это сделал, чтобы EditText в нем была подсказка.

<EditText
    android:id="@+id/productQuantity"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:gravity="right|center_vertical"
    android:hint="@string/quantity"
    android:inputType="numberSigned"
    android:ellipsize="end"
    android:singleLine="true" >
</EditText>

Скриншот того, как должен выглядеть приведенный выше код

person Nandagopal T    schedule 25.12.2012

Попробуйте изменить цвет текста подсказки, иногда цвет подсказки совпадает с цветом фона

android:textColorHint="@color/colorBlack"
person Vinnicius Pereira    schedule 15.02.2019
comment
Привет и добро пожаловать! Кажется, что этот ответ в основном повторяет пару других - - person ; 15.02.2019

Я изменил стиль на "@style/Base.WidgetMaterialComponents.TextImputEditText". Для меня это была не гравитация или цвет.

person BigTimeG    schedule 30.09.2020