package cn.mutils.app.demo.ui;
import android.content.Context;
import android.util.AttributeSet;
import android.widget.TextView;
import cn.mutils.app.demo.R;
import cn.mutils.app.task.AnimTask;
import cn.mutils.app.task.AnimTask.AnimTaskListener;
import cn.mutils.app.ui.StateView;
import cn.mutils.core.annotation.event.Click;
import cn.mutils.core.annotation.res.FindViewById;
import cn.mutils.core.annotation.res.SetContentView;
@SetContentView(R.layout.view_anim_task)
public class AnimTaskDemoView extends StateView {
@FindViewById(R.id.go)
protected TextView mGo;
protected AnimTask mTask;
public AnimTaskDemoView(Context context) {
super(context);
}
public AnimTaskDemoView(Context context, AttributeSet attrs) {
super(context, attrs);
}
public AnimTaskDemoView(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
}
@Override
public void onCreate() {
super.onCreate();
mTask = new AnimTask();
mTask.setStepMillis(1000);
mTask.setSteps(10);
mTask.addListener(new AnimTaskListener() {
@Override
public void onUpdate(AnimTask task, double progress) {
if (progress < 1) {
mGo.setText((task.getSteps() - task.getStep()) + "");
mGo.setEnabled(false);
} else {
mGo.setText("go");
mGo.setEnabled(true);
}
}
});
}
@Click(R.id.go)
protected void onClickGo() {
mTask.start();
}
}