【问题标题】:android EditText hint does not appearandroid EditText提示不出现
【发布时间】:2012-10-26 17:16:25
【问题描述】:

这似乎是我遇到过的最奇怪的事情。

这是一个布局:

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

EditTexthint 未显示。

如果我删除android:gravity="center_horizontal"android:inputType="textCapWords",提示将变为可见。

我完全不知道gravitytextCapWordshint 有什么关系。是另一个 Android 错误还是我做错了什么?在前一种情况下,解决方法是什么?我希望我的文本居中对齐并大写并显示提示。还是我对糟糕的 Android 要求太多了?

【问题讨论】:

  • 您是否尝试过删除提示并以编程方式对其进行设置,看看这是否是一种解决方法?
  • android:gravity="center_horizo​​ntal" 造成问题...

标签: android android-edittext


【解决方案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】:

    可能原来的接受答案对于最新的android版本不再有效,通过设置提示颜色将使提示显示:

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

    希望这对其他人有所帮助,已在 Android 5+ 上测试过

    【讨论】:

      【解决方案3】:

      现在是 2021 年,这似乎仍然是一个问题,因此对于尝试使用 EditText 并且在设计器中没有看到提示的任何人,您可以添加 tools:background="@android:color/transparent" 或为背景分配任何颜色,提示就会出现。

      【讨论】:

        【解决方案4】:

        这似乎是一个错误,如 here 所述。似乎该线程中的一些人已经发布了您可以尝试的解决方法或解决方案。您是否尝试过删除提示并以编程方式对其进行设置,看看这是否是一种解决方法?

        onCreate()之前声明这个

        EditText guessAppEt;
        

        这个在onCreate()

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2012-12-14
          • 1970-01-01
          • 2013-04-14
          • 2011-04-06
          • 1970-01-01
          • 2013-06-29
          • 2013-04-26
          相关资源
          最近更新 更多