标签:tde custom xtend 项目 demo 调用 设置 min cal
package com.kallaite.rxjavademo.customcontrols;
import android.content.Context;
import android.util.AttributeSet;
import android.widget.TextView;
public class TimerTextView extends TextView implements Runnable{
public TimerTextView(Context context) {
super(context);
init(context,null);
}
public TimerTextView(Context context, AttributeSet attrs) {
super(context, attrs);
init(context,attrs);
}
public TimerTextView(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
init(context,attrs);
}
private int day;
private int hours;
private int mmin;
private int second;
private boolean flagRun;
private void init(Context context, AttributeSet attrs) {
}
public void setArrays(int day,int hours,int mmin,int second){
this.day = day;
this.hours = hours;
this.mmin = mmin;
this.second = second;
}
public void onStart(){
flagRun = true;
run();
}
public boolean isRun(){
return flagRun;
}
public void onstop(){
flagRun = false;
}
@Override
public void run() {
if (flagRun){
boolean b = runScripty();
if (b){
setText("倒计时结束");
}else {
setText(day + " 天 " + hours + " 小时 " + mmin + " 分钟 " + second + "秒");
postDelayed(this,1000);
}
}else {
removeCallbacks(this);
}
}
private boolean runScripty() {
second--;
if (second < 0){
mmin--;
second = 59;
if (mmin < 0){
hours--;
mmin = 59;
if (hours < 0){
day--;
hours = 23;
if (day < 0){
return true;
}
}
}
}
return false;
}
}
直接拿到项目中用就可以了,自定义控件使用大家都懂的。只是具有了自动更新的功能,这里的自动更新的实现当然只通过线程来实现了,所以要继承Runnable接口。
开启调用 onStart()方法。 暂停 onStop()方法, 设置时间通过 setArrays()来完成就OK了;
标签:tde custom xtend 项目 demo 调用 设置 min cal
原文地址:http://www.cnblogs.com/wlwqnj/p/7085540.html