这个总体来说是比较简单的,计时跳转一般调用Android Studio中的Handler方法。
一、发生点击事件跳转页面
mBtnTextView = (Button) findViewById(R.id.btn_textview);//将类型强制转换为Button
mBtnTextView.setOnClickListener(new View.OnClickListener() {//给Button设置一个点击事件
@Override
public void onClick(View view) {
//跳转到TextView演示界面
Intent intent = new Intent(Main3Activity.this, TextViewActivity.class);
startActivity(intent);
}
});
二、最基本的计时跳转页面
new Handler().postDelayed(new Runnable() {
public void run() { //你要跳转或执行的操作
setResult(RESULT_CODE); }
}, 2000);
三、计时跳转页面,并且在发生点击事件时直接跳转。
package com.example.lenovo.tallybook; import android.content.Intent;
import android.os.Handler;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.view.WindowManager;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast; import java.util.Timer;
import java.util.TimerTask; public class MainActivity extends AppCompatActivity implements View.OnClickListener {
private int recLen = 5;//跳过倒计时提示5秒
private Button mBtn;
Timer timer = new Timer();
private Handler handler;
private Runnable runnable; @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//flag使我们必须要设置的变量
int flag = WindowManager.LayoutParams.FLAG_FULLSCREEN;
//设置当前窗体为全屏显示
getWindow().setFlags(flag, flag);
initView();
timer.schedule(task, 1000, 1000);//等待时间一秒,停顿时间一秒
/**
* 正常情况下不点击跳过
*/
handler = new Handler();
handler.postDelayed(runnable = new Runnable() {
@Override
public void run() {
//跳转到首界面
Intent intent = new Intent(MainActivity.this, HomeActivity.class);
startActivity(intent);
finish();
}
}, 5000);//延迟5S后发送handler信息 } private void initView() {
mBtn = findViewById(R.id.btn_1);//跳过
mBtn.setOnClickListener(this);//跳过监听
} TimerTask task = new TimerTask() {
@Override
public void run() {
runOnUiThread(new Runnable() { // UI thread
@Override
public void run() {
recLen--;
mBtn.setText("跳过 " + recLen);//在控件上显示距离跳转的剩余时间
if (recLen < 0) {
timer.cancel();
mBtn.setVisibility(View.GONE);//倒计时到0隐藏字体
}
}
});
}
}; @Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.btn_1:
//发生点击事件时直接跳转到首界面
Intent intent = new Intent(MainActivity.this, HomeActivity.class);
startActivity(intent);
finish();
if (runnable != null) {
handler.removeCallbacks(runnable);
}
break;
default:
break;
} }
}
在上面的代码中,btn_1是我在activity_main中设置的进入的按钮的id,他的跳转是建立在这个Button之上的。