Android 如何实现带滚动条的TextView,在更新文字时自动滚动到最后一行?

1、在布局文件中放置一个TextView,给它添加scrollbars和fadeScrollbars两个属性。

如下设置:滚动条为垂直滚动条,并且一直可见(当TextView中的文字行数超过页面能显示的范围之后)。

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

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

TextView tv=(TextView)findViewById(R.id.logView); 
tv.setMovementMethod(ScrollingMovementMethod.getInstance());

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

 void refreshTextView(String msg){ 
 tv.append(msg); 
 int offset=tv.getLineCount()*tv.getLineHeight();
 if(offset>tv.getHeight()){ 
        tv.scrollTo(0,offset-logView.getHeight()); 
     } 
 }

你可能感兴趣的:(Android 如何实现带滚动条的TextView,在更新文字时自动滚动到最后一行?)