Android实现文字逐字显示出来效果
2017-07-10 16:51
381 查看
效果图如下:
可以采用自定义TextView的方式去实现,也可才用定时更新文字显示,思路是让TextView每隔一秒显示以一个字符串(并非每一秒多出来一个汉字),那么就简单了,可以开启一个线程,实现代码如下:
1.布局文件
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<TextView
android:id="@+id/tv_text"
android:layout_width="match_parent"
android:layout_height="200dp" />
</LinearLayout>
2.Activity(需要逐字显示的字)
3. Activity(工具类)
可以采用自定义TextView的方式去实现,也可才用定时更新文字显示,思路是让TextView每隔一秒显示以一个字符串(并非每一秒多出来一个汉字),那么就简单了,可以开启一个线程,实现代码如下:
1.布局文件
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<TextView
android:id="@+id/tv_text"
android:layout_width="match_parent"
android:layout_height="200dp" />
</LinearLayout>
2.Activity(需要逐字显示的字)
package com.zking.xx; import android.app.Activity; import android.os.Bundle; import android.widget.TextView; public class TiaoZiActivity extends Activity { private TextView textView; private String s = "主人,我正在努力的往外面跳字呢,\n你别急,反正急也没用。\n卡哇伊....."; private TiaoZiUtil tiaoziUtil; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_tiaozi); textView = ((TextView) findViewById(R.id.tv_text)); tiaoziUtil = new TiaoZiUtil(textView, s, 100);//调用构造方法,直接开启 } @Override protected void onDestroy() { super.onDestroy(); } }
3. Activity(工具类)
package com.zking.xx; import android.widget.TextView; public class TiaoZiUtil { private static TextView tv; private static String s; private static int length; private static long time; static int n = 0; private static int nn; public TiaoZiUtil(TextView tv, String s, long time) { this.tv = tv;//textview this.s = s;//字符串 this.time = time;//间隔时间 this.length = s.length(); startTv(n);//开启线程 } public static void startTv(final int n) { new Thread( new Runnable() { @Override public void run() { try { final String stv = s.substring(0, n);//截取要填充的字符串 tv.post(new Runnable() { @Override public 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实现文字逐字显示出来
- Android实现文字显示跑马灯效果
- Android基于ViewFilpper实现文字LED显示效果示例
- android显示TextView文字的倒影效果实现代码
- Android实现文字一个一个显示出来
- android中TextView的文字实现动态效果,走马灯效果,闪烁效果
- Android TextView 显示文字阴影效果
- Android 如何实现竖排文字显示?
- Android文字显示效果小究
- Android实现图片顺时逆时旋转及拖拽显示效果
- VB实现文字“闪入”显示的特殊效果
- Android 文字自动滚动(跑马灯)效果的两种实现方法
- css 文字按钮实现样式submit按钮以文本的形式显示出来
- android中TextView的文字实现动态效果,走马灯效果,闪烁效果
- Android文字显示效果小究
- Android TextView 显示文字阴影效果
- Android 实现显示文字的Gallery
- android实现图片下载到sdcard中的例子,用进度条显示现在进度,同时间图片显示出来
- JavaScript实现新浪微博文字放大显示动画效果
- 实现自定义view(2):仿Android QQ多屏幕显示ListView的效果