EditText 滚动到最后一个文本行

EditText scroll to last text line

所以我有一个固定大小的 EditText,最有可能包含多行的长文本。

view 没有焦点时,我想滚动到它的顶部。当 hasFocusfalse.

时,设法在 setOnFocusChangeListener 中使用 view.scrollBy(0,0)

但当 hasFocustrue 时,我还想向下滚动到 EditText 的最后一行。有没有办法根据 view 中的最后一行文本获取一些有效的 int 值以传递到 view.scrollBy(x,y) 中?

如果您的 EditText 有焦点,那么您可以选择

editText.setSelection(editText.text.length) //place the cursor at the end of the text

应该会自动向下滚动到 editText

的末尾

检查它是否有效

EditText editText = (EditText) findViewById(R.id.edtText);
editText.setSelection(editText.getText().length());