package quickutils.core.views.text;
import android.content.Context;
import android.os.Handler;
import android.util.AttributeSet;
/**
* Created by cesarferreira on 11/06/14.
*/
public class TypeWriterTextView extends RobotoTextView {
private CharSequence mText;
private int mIndex;
private long mDelay = 500; //Default 500ms delay
// usage:
// Typewriter textView = (Typewriter) rowView.findViewById(R.id.gridItemTextView);
// textView.setCharacterDelay(60);
// textView.animateText(mCountries.get(position).name);
public TypeWriterTextView(Context context) {
super(context);
}
public TypeWriterTextView(Context context, AttributeSet attrs) {
super(context, attrs);
}
private Handler mHandler = new Handler();
private Runnable characterAdder = new Runnable() {
@Override
public void run() {
setText(mText.subSequence(0, mIndex++));
if (mIndex <= mText.length()) {
mHandler.postDelayed(characterAdder, mDelay);
}
}
};
public void animateText(CharSequence text) {
mText = text;
mIndex = 0;
setText("");
mHandler.removeCallbacks(characterAdder);
mHandler.postDelayed(characterAdder, mDelay);
}
public void setCharacterDelay(long millis) {
mDelay = millis;
}
}