подсказка Android 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 of EditText не отображается.

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

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

3 ответов


просто добавьте одну строку, и она будет работать, i.e 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>

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

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

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


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

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

EditText guessAppEt;

и в onCreate()

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