1 有时候产品的特殊需求要让我们去做一些特殊的事 这次是要监听Edittext 高度的变化 当然我们要有TextWatcher了
abstract class MyTextWatcher implements TextWatcher{ public EditText editText; public MyTextWatcher(EditText editText){ this.editText=editText; } int temp; @Override public void beforeTextChanged(CharSequence s, int start, int count, int after) { temp=editText.getLineCount(); } @Override public void onTextChanged(CharSequence s, int start, int before, int count) { int scrollRange = editText.getLineCount(); if (scrollRange!=temp){ temp= scrollRange; setHeightChange(); } } @Override public void afterTextChanged(Editable s) { } abstract void setHeightChange(); }
2 只需求去在 setHeightChange 实现业务逻辑就可以了
3 当然你先得到一些具体的高度的值 可以试一试getLayout 去监听高度变化