这个效果是从豌豆荚的开眼App中发现,是App其中一个较小的一个炫酷效果:
实现原理想到的是通过handler切割字符串并不断增长设置实现,效果还行,哪个同学有好的方法,可以分享哈。
下面直接贴代码了,比较简单。
public final class WriteTextHandler extends Handler {
private final CharSequence content;
private int hanlderLen;
private int showTotalWords;
private TextView textView;
public WriteTextHandler(TextView paramTextView,
CharSequence paramCharSequence) {
this.textView = paramTextView;
this.content = paramCharSequence;
}
public void handleMessage(Message paramMessage) {
this.hanlderLen--;
if (hanlderLen == 0) {
textView.setText(this.content);
return;
}
this.showTotalWords += 1;
int j = Math.min(this.content.length(), this.showTotalWords);
textView.setText(this.content.subSequence(0, j));
sendEmptyMessageDelayed(1, 10);
}
public void setText() {
this.hanlderLen = this.content.length();
textView.setText("");
removeMessages(1);
sendEmptyMessageDelayed(1, 10);
}
}
通过new WriteTextHandler(textview,"textview内容").setText()即可;