import android.content.Context;
import android.os.Handler;
import android.os.Message;
import android.util.AttributeSet;
import android.widget.TextView;
/**
* Created by Administrator on 2014/3/14.
*/
public class DynamicTextview extends TextView {
public DynamicTextview(Context context) {
super(context);
}
public DynamicTextview(Context context, AttributeSet attrs) {
super(context, attrs);
}
public DynamicTextview(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
}
private Handler mhandler = new Handler() {
@Override
public void handleMessage(Message msg) {
setText(String.valueOf(startNum));
while (startNum < endnum) {
startNum += num;
setText(String.valueOf(startNum));
postDelayed(new Runnable() {
@Override
public void run() {
sendEmptyMessage(0);
}
}, refresh);
break;
}
if (startNum > endnum) {
setText(String.valueOf(endnum));
}
super.handleMessage(msg);
}
};
private int startNum;
private int endnum;
private int num;
private long refresh;
/**
* @param start 开始数字
* @param end 结束数字
* @param refresh刷新频率,数字越大,频率越低
* @param num 每次刷新递增量
*/
public void setValue(int start, int end, long refresh, int num) {
this.startNum = start;
this.endnum = end;
this. refresh= refresh;
this.num = num;
}
/**
* 开使播放动画
*/
public void startAnim() {
mhandler.sendEmptyMessage(0);
}
}
实现数字动态变化
最新推荐文章于 2024-05-19 21:18:03 发布