在今天開發中遇到一個自己寫的自定義控件,因為考慮到復用,在每個需求下的edittext的輸入長度不一樣,在xml文件里面設置是不能實現這個需求的,於是在發現了這個API,可以通過代碼設置!
希望對大家有所幫助!
public void setEtCoustomLength(int length){ if (length>0) { etCoustom.setFilters(new InputFilter[]{new InputFilter.LengthFilter(length)}); } }
重點是這樣:
setFilters(new InputFilter[]{new InputFilter.LengthFilter(length)});
然后就實現了!
另外:將光標移到最后
EditText et = (EditText)findViewById(R.id.inbox);
et.setSelection(et.getText().length());
如果文字顯示不下去,省略號的位置
android:ellipsize="start"
補充下:
有人說xml可以配置,這個是沒有問題的,因為我之前的需求是動態設置,是不一樣的,但是又要復用。
所以必須代碼控制!
xml如下:
可以在layout xml中加上屬性android:maxLength