Android 如何实现带滚动条的TextView,在更新文字时自动滚动到最后一行
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/container"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context="com.android09.MainActivity"
tools:ignore="MergeRootFrame" >
<Button
android:id="@+id/bt"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="点击我" />
<TextView
android:id="@+id/tv"
android:text="哈哈哈哈哈哈我是哈哈哈哈布局文件中放置一个TextView,给它添加scrollbars和fadeScrollbars两个属性"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:fadeScrollbars="false"
android:scrollbars="vertical" />
</LinearLayout>
2、主要代码 :
package com.android09;
import android.app.Activity;
import android.os.Bundle;
import android.text.method.ScrollingMovementMethod;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;
public class MainActivity extends Activity {
Button button ;
TextView textView ;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
button = (Button) findViewById( R.id.bt ) ;
button.setOnClickListener( new OnClickListener() {
@Override
public void onClick(View v) {
String string = "在Ubuntu中有如下几个文件可以设置环境变量/etc/profile:在登录时,"
+ "操作系统定制用户环境时使用的第一个文件,此文件为系统的每个用户设置环境信息,当用户第一次登录时,"
+ "该文件被执行./etc/environment:在登录时操作系统使用的第二个文件,"
+ "系统在读取你自己的profile前,设置... " ;
refreshLogView( string );
}
});
textView = (TextView) findViewById( R.id.tv ) ;
textView.setMovementMethod(ScrollingMovementMethod.getInstance());
}
void refreshLogView(String msg){
textView.append(msg);
int offset=textView.getLineCount()*textView.getLineHeight();
if(offset>textView.getHeight()){
textView.scrollTo(0,offset-textView.getHeight());
}
}
}
3、运行效果:
在给 TextView 添加文字时,textview 会自动滚动到最后一条。

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
-
上一篇
Android 正则表达式
1、相关知识链接 正则表达式语法 https://msdn.microsoft.com/zh-cn/library/ae5bf541(v=vs.80).aspx 正则表达式入门教程 http://www.jb51.net/tools/zhengze.html 2、分割字符串 package com.app; public class AA { // Pattern(模式类)和Matcher(匹配器类)。 // Pattern类是用来表达和陈述所要搜索模式的对象, // Matcher类是真正影响搜索的对象。 // 另加一个新的例外类,PatternSyntaxException,当遇到不合法的搜索模式时,会抛出例外 public static void main(String[] args) { String s = "shanglvgj001^3478^105^14" ; String[] names = s.split("\\^") ; for (int i = 0; i < names.length; i++) { System.out.println(names[i]...
-
下一篇
Android 设计模式一:EIT造型
前言:首先不提造型,我们先来学习公式。 思绪回到于十七世纪中,牛顿提出了简单公式:F=ma;让人们能轻易理解物体运动的复杂<关系>。 再如,于二十世纪初,爱因斯坦发表了简单公式:E=MC平方;让人们能理解复杂的质量、能量与光速之间的复杂关系。 看起来很复杂的天体物理运算,只要找到了公式就会变得简单。 对于同一类问题,只要找到其中的运行规律,就可以万变不离其宗的套公式解决。那么这里的公式就是造型。 1、什么是造型 ? 造型可以看做一个皮箱,里面可以装各式各样的东西,可以看做是一种抽象。 类就是一种最小的造型,如果装上树叶,就是树叶造型;装上人,就是人造型。 类似于原子,各式各样的原子,氢原子,氧原子.......,也可以有各式各样的造型。 代码造型 原子层级的,设计模式是分子级别的。代码造型可以组合成各式各样的设计模式, 除此之外,还可以组合成为框架,更大的是可以组合成为平台。这就是基于代码层级的代码造型的真正威力。 而EIT造型正是指名一种东西。 2、什么是EIT造型 ? EIT造型,一种比类的范围更大,比模式(Pattern)稍微小的一种新的代码造型。 3、造型的模...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- MySQL数据库在高并发下的优化方案
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- SpringBoot2初体验,简单认识spring boot2并且搭建基础工程
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- MySQL8.0.19开启GTID主从同步CentOS8