Android 如何實現帶滾動條的TextView,在更新文字時自動滾動到最后一行?


1、在布局文件中放置一個TextView,給它添加scrollbars和fadeScrollbars兩個屬性。

如下設置:滾動條為垂直滾動條,並且一直可見(當TextView中的文字行數超過頁面能顯示的范圍之后)。

android:scrollbars="vertical"        
android:fadeScrollbars
="false"

2、在Activity中的onCreate()方法中,使用setMovementMethod(MovementMethod movement)方法配置TextView的滾動方式。

1 final TextView logView=(TextView)findViewById(R.id.logView);
2 logView.setMovementMethod(ScrollingMovementMethod.getInstance());

3、更新文字時,使用View的scrollTo(int x,int y)方法使其自動滾動到最后一行。

1 void refreshLogView(String msg){
2    logView.append(msg);
3    int offset=logView.getLineCount()*logView.getLineHeight();
4    if(offset>logView.getHeight()){
5        logView.scrollTo(0,offset-logView.getHeight());
6    }
7 }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM