package cn.mutils.app.demo.ui; import android.content.Context; import android.util.AttributeSet; import cn.mutils.app.demo.R; import cn.mutils.app.task.AnimTask; import cn.mutils.app.task.AnimTask.AnimTaskListener; import cn.mutils.app.ui.ProgressView; 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_progress_view) public class ProgressViewDemoView extends StateView { @FindViewById(R.id.progress_view) protected ProgressView mProgressView; protected AnimTask mTask; public ProgressViewDemoView(Context context) { super(context); } public ProgressViewDemoView(Context context, AttributeSet attrs) { super(context, attrs); } public ProgressViewDemoView(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); } @Override public void onCreate() { super.onCreate(); mTask = new AnimTask(); mTask.setStepMillis(300); mTask.setSteps(Long.MAX_VALUE); mTask.addListener(new AnimTaskListener() { @Override public void onUpdate(AnimTask task, double progress) { mProgressView.setProgress((mProgressView.getProgress() + 1) % 101); } }); mTask.start(); } @Override public void onDestroy() { mTask.stop(); super.onDestroy(); } @Click(R.id.shape_ring) protected void onClickShapeRing() { mProgressView.setShape(ProgressView.SHAPE_RING); } @Click(R.id.shape_line) protected void onClickShapeLine() { mProgressView.setShape(ProgressView.SHAPE_LINE); } }