public class MyTextView extends TextView{
private TextPaint mPaint;
private int currentX = 50;
public MyTextView(Context context, AttributeSet attrs) {
super(context, attrs);
initView();
}
private void initView() {
mPaint = new TextPaint(getPaint());
mPaint.setStyle(TextPaint.Style.FILL_AND_STROKE);//空心和实心样式
mPaint.setColor(Color.WHITE);
}
@Override
protected void onDraw(Canvas canvas) {
// TODO Auto-generated method stub
super.onDraw(canvas);
canvas.save();
// canvas.clipRect(0, 0, currentX, getHeight());//剪裁一个矩形区域
canvas.clipRect(0, 0, currentX, getBottom());//效果同上
canvas.drawText(getText().toString(), 0, getBaseline(), mPaint);
canvas.restore();
currentX++;
currentX = currentX%getWidth();
invalidate();
}
}
private TextPaint mPaint;
private int currentX = 50;
public MyTextView(Context context, AttributeSet attrs) {
super(context, attrs);
initView();
}
private void initView() {
mPaint = new TextPaint(getPaint());
mPaint.setStyle(TextPaint.Style.FILL_AND_STROKE);//空心和实心样式
mPaint.setColor(Color.WHITE);
}
@Override
protected void onDraw(Canvas canvas) {
// TODO Auto-generated method stub
super.onDraw(canvas);
canvas.save();
// canvas.clipRect(0, 0, currentX, getHeight());//剪裁一个矩形区域
canvas.clipRect(0, 0, currentX, getBottom());//效果同上
canvas.drawText(getText().toString(), 0, getBaseline(), mPaint);
canvas.restore();
currentX++;
currentX = currentX%getWidth();
invalidate();
}
}