【问题标题】:EditText hint doesn't showEditText 提示不显示
【发布时间】:2011-04-06 05:06:41
【问题描述】:

我的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:scrollHorizontallyandroid:singleLine 属性,它会起作用,这是不可取的。有什么建议吗?

【问题讨论】:

  • gravitycenterright 并且设置了singleLine 时,我可以确认editText 不显示提示。我也在寻找解决方案。
  • 我无法再编辑我的最后一条评论,但我想说这是一个已知问题:code.google.com/p/android/issues/detail?id=7252

标签: android android-widget android-edittext hint


【解决方案1】:

使用android:ellipsize="end" 为我修复了它 奇怪的错误! (但 Android 有很多这些奇怪的错误)

【讨论】:

  • 添加此标签后,我可以在模拟器中看到提示,但在真实设备(即索尼爱立信 xperia)中仍然没有运气
  • "android:ellipsize" 属性对我有用.. 奇怪...!
【解决方案2】:

在 Lollipop 版本中,EditText 的默认文本和提示文本颜色为白色。 所以我们要在EditText这样改

android:textColorHint="@color/grey"

【讨论】:

  • 为我工作。奇怪的行为。只有我的一个应用程序有这个问题,但解决了这个问题。想知道背后到底发生了什么。
【解决方案3】:

我希望我的单行 EditText 框滚动,但也将提示保留在右侧。 我遇到了同样的问题,并通过保留gravity="right" 并设置singleLine="true"ellipsize="end" 得到提示。

【讨论】:

    【解决方案4】:

    你需要给文字颜色提示

    android:textColorHint="#000000"
    

    【讨论】:

    • 这对于 Android 2.3 来说还不够(我在 HTS Desire S 上测试过)。还应该添加 android:ellipsize="end"。
    【解决方案5】:

    不需要android:scrollHorizontally 属性。删除它。EditText 是屏幕上的固定项目。我们想要滚动布局包含EditText就足够了。这也是最好的设计。你已经输入了android:ellipsize="end" 而不是android:scrollHorizontally

    【讨论】:

    • 不,不是这样。如果您阅读文档developer.android.com/reference/android/…,当您键入的文本不适合该字段时,android:scrollHorizo​​ntally 属性允许文本在该字段内滚动(当然没有滚动条)。它与布局滚动无关。
    【解决方案6】:

    使用 android:ellipsize="end" 解决了明显的平台错误。不幸的是,Xperias 仍然行为不端:(

    我没有找到其他解决方案:

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

    【讨论】:

      【解决方案7】:

      以下对我有用:

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

      【讨论】:

        【解决方案8】:

        这就是我所做的,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>
        

        【讨论】:

          【解决方案9】:

          尝试更改提示文本颜色,有时提示颜色与背景颜色相同

          android:textColorHint="@color/colorBlack"
          

          【讨论】:

          • 您好,欢迎您!似乎这个答案基本上是其他几个人的重复-
          【解决方案10】:

          我将样式更改为"@style/Base.WidgetMaterialComponents.TextImputEditText"。对我来说,这不是重力或颜色。

          【讨论】:

            猜你喜欢
            • 2015-02-21
            • 2013-04-14
            • 1970-01-01
            • 2011-06-24
            • 2013-06-29
            • 1970-01-01
            • 1970-01-01
            • 2019-03-21
            相关资源
            最近更新 更多