【问题标题】:Is there any way to ellipsize the hint in the EditText?有什么方法可以省略 EditText 中的提示?
【发布时间】:2015-03-30 06:02:03
【问题描述】:

我的 EditText 中提示的长度比 ET 视图的宽度长一点。那么如何将选取框属性设置为 ET 视图。我试过设置它,但应用程序崩溃并给出错误:E/AndroidRuntime(2095): Caused by: java.lang.IllegalArgumentException: EditText cannot use the ellipsize mode TextUtils.TruncateAt.MARQUEE p>

我已经阅读了 ellipsize 方法的文档,但没有得到我应该做的事情。我已经尝试了这两个步骤:

1) android:maxLines="1" android:ellipsize="marquee" android:marqueeRepeatLimit="marquee_forever"

2) android:maxLines="1" android:scrollHorizontally="true"

ellipsize 方法的文档: 使文本中长于视图宽度的单词被省略,而不是在中间断开。您可能还需要 setSingleLine() 或 setHorizo​​ntallyScrolling(boolean) 将文本限制为单行。使用 null 关闭省略号。如果已使用 setMaxLines(int) 设置两行或多行,则仅支持 END 和 MARQUEE(其他椭圆化类型不会做任何事情)。

让我知道必须进行哪些修改才能正常工作。谢谢

【问题讨论】:

  • 嗨@DJphy 我面临同样的问题,因为我的应用程序支持本地化,因此对于某些语言环境,编辑文本提示大于编辑文本。你有没有找到任何解决方案?您的帮助将不胜感激。
  • @umesh 我发现你不能为编辑文本设置选框椭圆,但你可以在末尾设置 ellipsizeetView.setHint(hintMsg); etView.setSingleLine(true); etView.setMaxLines(1); etView.setEllipsize(android.text.TextUtils.TruncateAt.END); 现在这将切断额外的提示文本(如果提示文本长度大于编辑文本视图的宽度)并在结束。

标签: android android-edittext android-view


【解决方案1】:

我认为 marquee 不适用于 EditText。如果它变得比 editText 的大小长,您可以使用其他属性来省略提示。

android:ellipsize="end"

【讨论】:

    【解决方案2】:

    @DJphy - 我找到了一个不需要设置省略号的解决方案。当您将字符串设置为编辑文本时,只需将简单的 HTML 属性设置为字符串。 玩了一些 HTML 技巧,它对我有用。 前任:- nameEdittxt.setHint(Html.fromHtml("<small><small><small>" + getString(R.string.enter_name) + "</small></small></small>"));

    这将有助于将提示设置为更小,并像您设置的 fontsize 一样正常编辑文本大小。 看我的附件—— 在将 HTML 属性设置为提示之前 -

    • 将 HTML 属性设置为提示后 -

    【讨论】:

    • 这是要检查的东西。我会试一试
    猜你喜欢
    • 2017-12-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-14
    • 1970-01-01
    相关资源
    最近更新 更多