Ellipsize for EditText

时间:2016-11-14 20:05:24

标签: android android-layout android-edittext textview

EditText的Ellipsize仅适用于

  • inputType - none
  • editable - false

但这使我的EditText无法编辑。 考虑到本地化,如何处理呢?

预期行为:

  • EditText中的文本应显示为省略号。
  • EditText应该是可编辑的。

试过这些但没有成功:

  • setEllipsize(TextUtils.TruncateAt.END)setEllipsize
  • android:ellipsize="end" android:singleLine="true"

2 个答案:

答案 0 :(得分:1)

OnKeyListener keyListener = editText.getKeyListener();
editText.setOnFocusChangeListener(new OnFocusChangeListener(){
  void onFocusChange(View v, boolean hasFocus) {
    if(hasFocus){
      editText.setOnKeyListener(null);
    }else{
      editText.setOnKeyListener(keyListener);
    }
  }
});

这适用于我,它会在关注EditText时丢失文本。虽然打字时没有椭圆化。

答案 1 :(得分:-1)

您必须在EditText中设置android:editable="false"只使用此属性。 Ellipsize无法将editable设置为true。基本上,当您将文本设置为EditText时,您可以尝试动态设置可编辑属性。

android:lines="1"
android:scrollHorizontally="true"
android:ellipsize="end"
android:singleLine="true"
android:editable="false"