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 атрибуты, что не желательно. Какие-либо предложения?

12 ответов

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

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

android:textColorHint="@color/grey"

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

Вы должны дать тексту подсказку

android:textColorHint="#000000"

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

android:textColorHint="@color/colorBlack"

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

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

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

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

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

<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>

Вот как я сделал для 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>

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

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

В моей студии Android есть дельфин (старая версия), и я установил compileSdkVersion 33, поэтому эта проблема возникает, когда я компилирую SdkVersion 32 set . Все работает нормально. Поэтому уменьшите версию compileSdkVersion.

Эту проблему можно решить, обновив средство визуализации.

Другие вопросы по тегам