可以采用自定义TextView的方式去实现,也可才用定时更新文字显示,思路是让TextView每隔一秒显示以一个字符串(并非每一秒多出来一个汉字),那么就简单了,可以开启一个线程,实现代码如下:

文章目录

  • 1.布局文件
  • 2.Activity(需要逐字显示的字)
  • 3. Activity(工具类)
  • 4.关于衔接到自己的项目无法显示的问题

1.布局文件

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"android:id="@+id/activity_main"android:layout_width="match_parent"android:layout_height="match_parent"
><TextViewandroid:id="@+id/tv"android:layout_width="match_parent"android:layout_height="wrap_content" /><Buttonandroid:id="@+id/bt"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_centerInParent="true"android:text="again" />
</RelativeLayout>

2.Activity(需要逐字显示的字)

package com.example.textjiange;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.TextView;public class tiaozi extends AppCompatActivity {private TextView tv;private String s;private int length;int n = 0;private int nn;private JiangeUtil jiangeUtil;private View bt;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);tv = ((TextView) findViewById(R.id.tv));bt = findViewById(R.id.bt);bt.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View view) {n = 0;jiangeUtil.startTv(n);}});s = "这里是注水井数据";jiangeUtil = new JiangeUtil(tv, s, 100);//调用构造方法,直接开启}}

3. Activity(工具类)

package com.example.textjiange;
import android.widget.TextView;public class JiangeUtil {private TextView tv;private String s;private int length;private long time;static int n = 0;private int nn;public JiangeUtil(TextView tv, String s, long time) {this.tv = tv;//textviewthis.s = s;//字符串this.time = time;//间隔时间this.length = s.length();startTv(n);//开启线程}public void startTv(final int n) {new Thread(new Runnable() {@Overridepublic void run() {try {final String stv = s.substring(0, n);//截取要填充的字符串tv.post(new Runnable() {@Overridepublic void run() {tv.setText(stv);}});Thread.sleep(time);//休息片刻nn = n + 1;//n+1;多截取一个if (nn <= length) {//如果还有汉子,那么继续开启线程,相当于递归的感觉startTv(nn);}} catch (InterruptedException e) {e.printStackTrace();}}}).start();}}

这样就可以实现逐字跳动了,自己可以在android studio运行一下ha!

4.关于衔接到自己的项目无法显示的问题

以下这段设置文字的代码,最要和你要斜街的那个布局的对应java代码放到一个oncreate里,不然不显示。

 tv = ((TextView) findViewById(R.id.tv));bt = findViewById(R.id.bt);bt.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View view) {n = 0;jiangeUtil.startTv(n);}});s = "这里是注水井数据";jiangeUtil = new JiangeUtil(tv, s, 100);//调用构造方法,直接开启

这个错误我找了一天!mmp。

Android移动开发之【Android实战项目】textview实现文字逐字显示效果相关推荐

  1. android studio开发工具介绍,Android应用开发之Android开发工具介绍、Android Studio配置...

    本文将带你了解Android应用开发之Android开发工具介绍.Android Studio配置,希望本文对大家学Android有所帮助. 2.1   Android Studio配置 2.1.1 ...

  2. android final参数,Android应用开发之Android Jetpack-Navigation 使用中参数的传递方法

    本文将带你了解Android应用开发之Android Jetpack-Navigation 使用中参数的传递方法,希望本文对大家学Android有所帮助. 由于使用了Navigation,导致Frag ...

  3. android中base64加密,Android应用开发之android自带Base64加密解密

    本文将带你了解Android应用开发之android自带Base64加密解密,希望本文对大家学Android有所帮助. android项目引用不到以下两个java类 import sun.misc.B ...

  4. 镜像处理坐标 android,Android应用开发之Android重写ImageView实现图片镜像效果的代码教程...

    本文将带你了解Android应用开发之Android重写ImageView实现图片镜像效果的代码教程,希望本文对大家学Android有所帮助. 前两天朋友问我一个问题,如何实现从手机系统相册加载一张图 ...

  5. Android关掉多个activity,Android应用开发之Android Activity栈管理 制定关闭某一个Activity,关闭所有Activit...

    本文将带你了解Android应用开发之Android Activity栈管理  制定关闭某一个Activity,关闭所有Activit,希望本文对大家学Android有所帮助. 系统Api :打开新的 ...

  6. android图片保存形式,Android应用开发之Android ScrollView截图和图片保存到相册的方式...

    本文将带你了解Android应用开发之Android ScrollView截图和图片保存到相册的方式,希望本文对大家学Android有所帮助. 1.1首先来看你一种截取屏幕,这种代码有缺陷,只能截取一 ...

  7. android 开发art,Android应用开发之Android 系统启动原理(art 虚拟机)

    本文将带你了解Android应用开发之Android 系统启动原理(art 虚拟机),希望本文对大家学Android有所帮助. Android   系统启动原理(art 虚拟机) 一.虚拟机的启动 A ...

  8. android 电量详情,Android应用开发之Android 8.0 电池-)耗电详情获取方法

    本文将带你了解Android应用开发之Android 8.0 电池-)耗电详情获取方法,希望本文对大家学Android有所帮助. Android 8.0 电池-)耗电详情获取方法 主要介绍UI位置和基 ...

  9. android 接口实现方法,Android应用开发之Android 请求网络接口实现方法

    本文将带你了解Android应用开发之Android 请求网络接口实现方法,希望本文对大家学Android有所帮助. public   class Fragment01 extends Fragmen ...

  10. android显示通知图标大全,Android应用开发之android 桌面APP应用图标显示通知消息的数量显示与去除...

    本文将带你了解Android应用开发之android 桌面APP应用图标显示通知消息的数量显示与去除,希望本文对大家学Android有所帮助. android   桌面APP应用图标显示通知消息的数量 ...

最新文章

  1. css样式之边框和内外边距
  2. mysql 8.0数据备份恢复_第7章 备份和恢复
  3. 在LVM中恢复已删除的物理卷
  4. SAP S4HANA TR传输之操作
  5. 【Python实践-1】求一元二次方程的两个解
  6. mysql myisam简单分表设计
  7. 可视化在线编辑器架构设计
  8. 74ls20设计半加器_数字电子技术实验练习内容
  9. 读书笔记《你真的理解什么是财富自由吗?》
  10. vs调试nuget包_NuGet包调试源码的方法
  11. 搜狐公司一程序员猝死 或与工作过度劳累有关
  12. 软件测试基础理论-测试用例
  13. MYSQL No space left on device
  14. 微信小程序input输入框密码的显示与隐藏
  15. js 函数闭包内部返回函数体调用方法难点解答
  16. Eaglooe 学习日记1
  17. Arduino物联网开发实例教程
  18. 孪生工厂:机械臂加工产线 HMI 监控界面
  19. 魔鬼交易员害了法兴银行却救了全球经济?
  20. ORACLE数据库NLS_CHARACTERSET和NLS_NCHAR_CHARACTERSET区别

热门文章

  1. tensor_proto.raw_data().empty() || !tensor_proto.float_data().empty() || !tensor_proto.double_data()
  2. VOC2007基本信息
  3. python numba jit 的效率
  4. python图像边缘检测
  5. php插入mysql数据返回id
  6. ubuntu 使用FFTW快速计算离散傅里叶变换
  7. jdk自带的反编译在那个包下_求教JDK中的反编译命令
  8. 彻底理解乐观锁和悲观锁的区别
  9. Selenium3自动化测试——9.多窗口切换
  10. 三方博弈matlab_小星星的读研日记之电商动态博弈知多少?