zoukankan      html  css  js  c++  java
  • 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之上的。

      

  • 相关阅读:
    考勤助手——基于CS三层结构的子系统设计
    淘宝网架构分析——反向代理
    软件架构风格——解释器风格详析
    软件架构风格
    考勤助手类图的设计
    任课教师管理考勤子系统之用例图
    考勤助手ER图2.0版本所存在的问题
    关于“考勤助手”体系架构风格的选取
    浅谈CDN技术的性能与优势
    软件体系结构——解释器风格的浅解
  • 原文地址:https://www.cnblogs.com/yandashan666/p/10418911.html
Copyright © 2011-2022 走看看