package com.linhai.mylove;
import android.content.Context;
import android.content.res.TypedArray;
import android.graphics.Canvas;
import android.util.AttributeSet;
import android.util.Log;
import android.widget.TextView;
import java.util.Timer;
import java.util.TimerTask;
public class MyTextView extends TextView {
String strContent;//声明一个内容的全局变量
String subText;//截取的文本全局变量
int subToIndex=1;//截取的文本到哪个Index了,初始化为0
/**
*MyTextView构造方法
* @param context
*/
public MyTextView(Context context){
super(context);
}
public MyTextView(Context context,AttributeSet attrs){
super(context, attrs);
TypedArray array = context.obtainStyledAttributes(attrs,R.styleable.MyTextView);
strContent = array.getString(R.styleable.MyTextView_mytextview_text);
setText(null);
Timer timer =new Timer();
class MyTimerTask extends TimerTask{
@Override
public void run() {
while (subToIndex!=strContent.length()){
subText=strContent.substring(0,subToIndex);
postInvalidate();
Log.i("excute","substring"+subText);
if(subToIndex!=strContent.length()-1) {
subToIndex++;
Log.i("excute","subToIndex++"+ subToIndex++);
}
}
}
}
timer.schedule(new MyTimerTask(),1000,500);
}
@Override
public void onDraw(Canvas canvas) {
setText(subText);
Log.i("excuteonDraw", "setText" + subText);
super.onDraw(canvas);
}
}
import android.content.Context;
import android.content.res.TypedArray;
import android.graphics.Canvas;
import android.util.AttributeSet;
import android.util.Log;
import android.widget.TextView;
import java.util.Timer;
import java.util.TimerTask;
public class MyTextView extends TextView {
String strContent;//声明一个内容的全局变量
String subText;//截取的文本全局变量
int subToIndex=1;//截取的文本到哪个Index了,初始化为0
/**
*MyTextView构造方法
* @param context
*/
public MyTextView(Context context){
super(context);
}
public MyTextView(Context context,AttributeSet attrs){
super(context, attrs);
TypedArray array = context.obtainStyledAttributes(attrs,R.styleable.MyTextView);
strContent = array.getString(R.styleable.MyTextView_mytextview_text);
setText(null);
Timer timer =new Timer();
class MyTimerTask extends TimerTask{
@Override
public void run() {
while (subToIndex!=strContent.length()){
subText=strContent.substring(0,subToIndex);
postInvalidate();
Log.i("excute","substring"+subText);
if(subToIndex!=strContent.length()-1) {
subToIndex++;
Log.i("excute","subToIndex++"+ subToIndex++);
}
}
}
}
timer.schedule(new MyTimerTask(),1000,500);
}
@Override
public void onDraw(Canvas canvas) {
setText(subText);
Log.i("excuteonDraw", "setText" + subText);
super.onDraw(canvas);
}
}