EditText设置更多文字为省略号

   在Textiew中可以通过设置TextView的属性android:maxEms和android:ellipseize来使过多的文字显示为省略号,在EditText中设置只这两个属性则不行,android默认只有在文字不可编辑的状态下才可以显示这些效果,但是EditText重写了这个属性,使得文字默认都是可以编辑的。

源码中:

  @Override
    protected boolean getDefaultEditable() {
        return true;
    }

所以若想要呈现TextView的效果,必须加上属性

android:editable= "false"


另外EditText不支持跑马等的效果.

  @Override
    public void setEllipsize(TextUtils.TruncateAt ellipsis) {
        if (ellipsis == TextUtils.TruncateAt.MARQUEE) {
            throw new IllegalArgumentException("EditText cannot use the ellipsize mode "
                    + "TextUtils.TruncateAt.MARQUEE");
        }
        super.setEllipsize(ellipsis);
    }


你可能感兴趣的:(android,EditText)