Android控件倒计时的达成
发布时间:2021-12-13 13:07:42 所属栏目:教程 来源:互联网
导读:Android控件倒计时的实现,使用CountDownTimer实现比较简单,以下是将Button对象传进来的TimeCountButton类。 public class CountDownButton extends CountDownTimer { public static final int TIME_COUNT_FUTURE = 60000; public static final int TIME_COU
Android控件倒计时的实现,使用CountDownTimer实现比较简单,以下是将Button对象传进来的TimeCountButton类。 public class CountDownButton extends CountDownTimer { public static final int TIME_COUNT_FUTURE = 60000; public static final int TIME_COUNT_INTERVAL = 1000; private Context mContext; private Button mButton; private String mOriginalText; private Drawable mOriginalBackground; private Drawable mTickBackground; private int mOriginalTextColor; public CountDownButton() { super(TIME_COUNT_FUTURE, TIME_COUNT_INTERVAL); } public CountDownButton(long millisInFuture, long countDownInterval) { super(millisInFuture, countDownInterval); } public void init(Context context, Button button) { this.mContext = context; this.mButton = button; this.mOriginalText = mButton.getText().toString(); this.mOriginalBackground = mButton.getBackground(); this.mTickBackground = this.mOriginalBackground; this.mOriginalTextColor = mButton.getCurrentTextColor(); } public void setTickDrawable(Drawable tickDrawable) { this.mTickBackground = tickDrawable; } @Override public void onFinish() { if (mContext != null && mButton != null) { mButton.setText(mOriginalText); mButton.setTextColor(mOriginalTextColor); mButton.setBackgroundDrawable(mOriginalBackground); mButton.setClickable(true); } } @Override public void onTick(long millisUntilFinished) { if (mContext != null && mButton != null) { mButton.setClickable(false); mButton.setBackgroundDrawable(mTickBackground); mButton.setTextColor(mContext.getResources().getColor(android.R.color.darker_gray)); mButton.setText(mOriginalText + "(" + millisUntilFinished / 1000 + "')"); } } } ![]() (编辑:开发网_开封站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |