設定TextView當加入文字後會自動捲到最底(Auto-scrolling TextView)


這裡展示的是在android的基本範例碼中加入可以自動捲到最底的TextView,

網路有許多解答關於auto-scrolling的作法,但是總是有缺點,例如透過修改Movement方法來完成,但是對於TextView下方還有其他元件的Layout,總是無法自動捲動顯示最後幾排文字。

在ConstraintLayout中,我們透過設置高度為0dp,讓ConstraintLayout能夠正確將TextView的當前的高度資訊反映在getHeight()函數。隨後再為TextView加入TextChangedListener讓,讓新的文字被append到TextView時,設定gravity的方法,讓TextView會自動捲到最底的文字位置。

若您還希望可以用滑鼠/觸控方式移動到上下部分,只要再加入下面這行即可
txtMsgView.setMovementMethod(new ScrollingMovementMethod());



留言