自定义View -- 实现字符串一个一个显示的动态动画
2015-02-28 10:30
549 查看
实现文字welcome的一个一个显示,效果如上述动态图片。
主要实现思路如下:把字符串拆开,每次画字符串的一部分,再通过一个线程来沉睡400毫秒,并调用方法postInvalidate()继续绘制。
public MyTextView(Context context, AttributeSet attrs) { super(context, attrs); Log.d(TAG," MyTextView(Context context, AttributeSet attrs)"); this.context = context; this.mText = context.getString(R.string.welcome); ShowTextThread showTextThread = new ShowTextThread(); showTextThread.start(); // TODO Auto-generated constructor stub } class ShowTextThread extends Thread{ public void run(){ Log.d(TAG," showTextThread -- run()"); while(mTextIndex < mText.length()+1){ Log.d(TAG," showTextThread -- run() mTextIndex = "+mTextIndex); mSubText = mText.substring(0, mTextIndex); try { Thread.sleep(400); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } postInvalidate(); mTextIndex++; } } }
其中mText是要显示的字符串"welcome",mSubText是逐渐增多的字符串:w->we->wel->welc->welco->welcom->welcome
在新的线程中,每次休眠400毫秒后,就调用方法postInvalidate(),其实就是调用onDraw()方法进行重新绘制自定义view。这样子就产生了字符串一个一个显示的效果。
知识点:
调用方法postInvalidate()和invalidate()来通知View重绘。
这俩个方法的区别:postInvalidate()是在非UI线程中调用,invalidate()在UI线程中调用。
在这个例子中,我们启动了一个新的子线程showTextThread,所以调用方法postInvalidate(),去重绘View
相关文章推荐
- Android自定义view利用Xfermode实现动态文字加载动画
- Android自定义控件View(实现控件的动画效果,自定义类画简略时钟,TextView中文字逐一显示,动态设置progress的圆环/扇形ProgressBar等)
- 使用属性动画以及自定义view实现图片的显示与隐藏
- 自定义View -- 实现字符串按弧线位置显示
- 使用属性动画以及自定义view实现图片的显示与隐藏
- Android开发:setContentView切换界面,自定义带CheckBox的ListView显示SQlite条目-----实现
- GridView实现自动编号;GridView实现自定义时间货币等字符串格式;GridView实现用“...”代替超长字符串;GridView一般换行与强制换行;GridView显示隐藏某一列;
- 自定义view——实现换行显示图片
- android 自定义ViewGroup和对view进行切图动画实现滑动菜单SlidingMenu[转]
- android 自定义ViewGroup和对view进行切图动画实现滑动菜单SlidingMenu
- ios中自定义alert view,并实现动画组合
- Android 自定义View修炼-自定义可动画展开收缩View的实现
- android 自定义ViewGroup和对view进行切图动画实现滑动菜单SlidingMenu
- Java之简单的图片动态显示(实现类似GIF动画效果)
- 实现自定义view(2):仿Android QQ多屏幕显示ListView的效果
- jquery实现隐藏与显示动画效果/输入框字符动态递减/导航按钮切换
- 使用linux的shell脚本实现在当前行重复动态显示时间等字符串信息(不另起新行)
- android 自定义ViewGroup和对view进行切图动画实现滑动菜单SlidingMenu
- android 自定义ViewGroup和对view进行切图动画实现滑动菜单SlidingMenu
- android 自定义ViewGroup和对view进行切图动画实现滑动菜单SlidingMenu