实现TextView的垂直滚动,更新文字时自动滚动到最后一行

来源:互联网 发布:seo网站编辑招聘 编辑:程序博客网 时间:2024/05/29 07:34

要点:

android:scrollbars="vertical" //设置scrollbars属性为vertical
android:scrollbarStyle="insideOverlay" //scroll样式
android:scrollbarFadeDuration="2000" //scrollbar从出现到消失的时间
例子:
1)xml中设置:

<TextView    android:id="@+id/alarmTextview"    android:layout_toLeftOf="@id/faceButton"    android:layout_alignParentRight="true"    android:layout_marginRight="160dp"    android:layout_marginTop="40dp"    android:layout_width="220dp"    android:layout_height="150dp"    android:maxLines="8"    android:background="@drawable/main_alarm_textview_background_style"    android:textColor="@android:color/white"    android:textSize="15sp"    android:scrollbars="vertical"    android:text=""    android:scrollbarStyle="insideOverlay"    android:padding="10dp"    android:fadeScrollbars="false"    android:scrollbarFadeDuration="2000" />
2)代码中设置:
alarmTextview.setMovementMethod(ScrollingMovementMethod.getInstance());
3)实现TextView的刷新,将TextView滚动到最后一行。
private void refreshAlarmView(TextView textView,String msg){    textView.append(msg);    int offset=textView.getLineCount()*textView.getLineHeight();    if(offset>(textView.getHeight()-textView.getLineHeight()-20)){        textView.scrollTo(0,offset-textView.getHeight()+textView.getLineHeight()+20);    }}



0 0
原创粉丝点击