APP 首页常为一个广告推送页面,在运行若干时间后自动跳转下一页面,在此过程中,用户可以点击跳过以提前结束当前页面,跳转到相应的界面
页面效果类似:
主要功能集中在右上角的按钮,包含计时,点击跳转
以下为实现:
首先需要一个计时器,Android已封装好CountDownTimer的类能完成功能,此处创建一个MyCountDownTimer继承此类,需要实现方法:
1. public void onTick(long ) //间隔多久执行一次
2. public void onFinish() //计时完成事件
需要一个显示时间信息的TextView skip_time
protected class MyCountdownTimer extends CountDownTimer{
/**
* @param millisInFuture 计时总时间
* @param countDownInterval 间隔时间
*/
public MyCountdownTimer(long millisInFuture, long countDownInterval) {
super(millisInFuture, countDownInterval);
skip_time.setText("跳过 ("+millisInFuture/1000+")");
}
@Override
public void onTick(long millisUntilFinished) {
//显示更改后的时钟信息
skip_time.setText("跳过 ("+millisUntilFinished/1000+")");
}
@Override
public void onFinish() {
//计时结束后再这里跳转
userLogin();
}
}
接下来需要对用户点击跳过进行监听,如果用户点击了监听,直接取消计时器,跳转相应页面,释放计时器资源。
private MyCountdownTimer countdownTimer;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
init();
}
private void init() {
skip = (LinearLayout) findViewById(R.id.main_skip);
skip.setOnClickListener(this);
skip_time = (TextView)findViewById(R.id.main_clock);
skip_time.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
userLogin();
//关闭计时器
countdownTimer.cancel();
finish();
}
});
countdownTimer = new MyCountdownTimer(5000,1000);
countdownTimer.start();
}
至此大功告成