Android Studio計時跳轉或點擊跳轉至主頁面


  這個總體來說是比較簡單的,計時跳轉一般調用Android Studio中的Handler方法。

 

  一、發生點擊事件跳轉頁面

1  mBtnTextView = (Button) findViewById(R.id.btn_textview);//將類型強制轉換為Button
2        mBtnTextView.setOnClickListener(new View.OnClickListener() {//給Button設置一個點擊事件
3           @Override
4           public void onClick(View view) {
5              //跳轉到TextView演示界面
6              Intent intent = new Intent(Main3Activity.this, TextViewActivity.class);
7               startActivity(intent);
8           }
9        });

 

  二、最基本的計時跳轉頁面

1 new Handler().postDelayed(new Runnable() {
2      public void run() {
3 
4 //你要跳轉或執行的操作
5      setResult(RESULT_CODE);
6    
7      }
8      }, 2000);

    

  、計時跳轉頁面,並且在發生點擊事件時直接跳轉。

 1 package com.example.lenovo.tallybook;
 2 
 3 import android.content.Intent;
 4 import android.os.Handler;
 5 import android.support.v7.app.AppCompatActivity;
 6 import android.os.Bundle;
 7 import android.view.View;
 8 import android.view.WindowManager;
 9 import android.widget.Button;
10 import android.widget.TextView;
11 import android.widget.Toast;
12 
13 import java.util.Timer;
14 import java.util.TimerTask;
15 
16 public class MainActivity extends AppCompatActivity implements View.OnClickListener {
17     private int recLen = 5;//跳過倒計時提示5秒
18     private Button mBtn;
19     Timer timer = new Timer();
20     private Handler handler;
21     private Runnable runnable;
22 
23     @Override
24     protected void onCreate(Bundle savedInstanceState) {
25         super.onCreate(savedInstanceState);
26         setContentView(R.layout.activity_main);
27          //flag使我們必須要設置的變量
28         int flag = WindowManager.LayoutParams.FLAG_FULLSCREEN;
29         //設置當前窗體為全屏顯示
30         getWindow().setFlags(flag, flag);
31         initView();
32         timer.schedule(task, 1000, 1000);//等待時間一秒,停頓時間一秒
33         /**
34          * 正常情況下不點擊跳過
35          */
36         handler = new Handler();
37         handler.postDelayed(runnable = new Runnable() {
38             @Override
39             public void run() {
40                 //跳轉到首界面
41                 Intent intent = new Intent(MainActivity.this, HomeActivity.class);
42                 startActivity(intent);
43                 finish();
44             }
45         }, 5000);//延遲5S后發送handler信息
46 
47     }
48 
49     private void initView() {
50         mBtn = findViewById(R.id.btn_1);//跳過
51         mBtn.setOnClickListener(this);//跳過監聽
52     }
53 
54     TimerTask task = new TimerTask() {
55         @Override
56         public void run() {
57             runOnUiThread(new Runnable() { // UI thread
58                 @Override
59                 public void run() {
60                     recLen--;
61                     mBtn.setText("跳過 " + recLen);//在控件上顯示距離跳轉的剩余時間
62                     if (recLen < 0) {
63                         timer.cancel();
64                         mBtn.setVisibility(View.GONE);//倒計時到0隱藏字體
65                     }
66                 }
67             });
68         }
69     };
70 
71     @Override
72     public void onClick(View v) {
73         switch (v.getId()) {
74             case R.id.btn_1:
75                 //發生點擊事件時直接跳轉到首界面
76                 Intent intent = new Intent(MainActivity.this, HomeActivity.class);
77                 startActivity(intent);
78                 finish();
79                 if (runnable != null) {
80                     handler.removeCallbacks(runnable);
81                 }
82                 break;
83             default:
84                 break;
85         }
86 
87     }
88 }
89     

 

 

    在上面的代碼中,btn_1是我在activity_main中設置的進入的按鈕的id,他的跳轉是建立在這個Button之上的。

 

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM