Андроид EditText подсказка не появляется

Кажется, это самая странная вещь, с которой я когда-либо сталкивался.

Вот макет:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >

<EditText        
    android:id="@+id/GuessAppEditText"
    android:lines="1"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:gravity="center_horizontal"        
    android:inputType="textCapWords"
    android:hint="@string/Hint" />

</RelativeLayout>

hint EditText не отображается.

Если я удаляю либо android:gravity="center_horizontal", либо android:inputType="textCapWords", подсказка становится видимой.

Я понятия не имею, что делать с hint gravity и textCapWords. Это еще одна ошибка Android, или я делаю что-то неправильно? В первом случае, что будет обходным путем? Я хочу, чтобы мой текст был выровнен по центру и заглавными буквами, и намек был показан. Или я хочу слишком много от плохого Android?

Ответ 1

Просто добавьте одну строку, и она будет работать, т.е. android:ellipsize="start"

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >

    <EditText
        android:id="@+id/GuessAppEditText"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:ellipsize="start"
        android:gravity="center_horizontal"
        android:hint="hint"
        android:inputType="textCapWords"
        android:lines="1" />

</RelativeLayout>

Ответ 2

Вероятно, что исходный ответ accept больше не подходит для последней версии Android, путем настройки цвета подсказки отобразится подсказка:

android:textColorHint="@android:color/darker_gray"

Надеюсь, это поможет другим, протестированным с Android 5 +

Ответ 3

Кажется, это ошибка, как указано здесь. Кажется, что несколько человек в этой теме опубликовали работу или разрешения, которые вы могли бы попробовать. Вы пытались удалить подсказку и установить ее программно, чтобы убедиться, что это обходной путь?

Объявите это перед onCreate()

EditText guessAppEt;

И это в onCreate()

guessAppEt = (EditText)findViewById(R.id.GuessAppEditText);
guessAppEt.setHint("Your hint here");