倒计时的实现

来源:互联网 发布:化妆品销售数据分析 编辑:程序博客网 时间:2024/06/06 14:29

很多时候会用到倒计时,比如欢迎页面。

这里简单的做一个倒计时的实现,具体细节不在多赘述。


最要的功能就是Handler每隔一秒发送一个消息,通知主线程更新UI,仅此而已。


public class WelcomeActivity extends BaseActivity implements View.OnClickListener {    private Handler handler;    private ImageView mImageView;    private int time = 3;    private TextView mTextView;    private ImageOptions mOptions;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);        setContentView(R.layout.activity_welcome);    }    @Override    protected void initView() {        mImageView = (ImageView) findViewById(R.id.iv_start);        mTextView = (TextView) findViewById(R.id.second_start);    }    @Override    protected void initData() {        mOptions=new ImageOptions.Builder().build();        handler = new Handler() {            @Override            public void handleMessage(Message msg) {                if (msg.what == 666) {                    time--;                    if (time==0){                        startActivity(new Intent(WelcomeActivity.this,MainActivity.class));                        finish();                    }                    if (time>0){                        mTextView.setText(time + "秒:跳过");                    }                }            }        };        new MyThread().start();    }    @Override    protected void setData() {    }    @Override    protected void setListener() {        mTextView.setOnClickListener(this);    }    @Override    public void onClick(View v) {        startActivity(new Intent(WelcomeActivity.this, MainActivity.class));        time = 0;        finish();    }    private class MyThread extends Thread{        @Override        public void run() {            while(time>0){                try {                    Thread.sleep(1000);                } catch (InterruptedException e) {                    e.printStackTrace();                }                handler.sendEmptyMessage(666);            }        }    }}



这样倒计时功能就实现了,很简单。

0 0
原创粉丝点击