Android Studio计时跳转或点击跳转至主页面
这个总体来说是比较简单的,计时跳转一般调用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之上的。
Android Studio计时跳转或点击跳转至主页面的更多相关文章
- 安装android Studio和运行react native项目(跳坑篇)
1.需配环境变量,值为sdk的地址. ANDROID_HOME 值:E:\Users\HP\AppData\Local\Android\sdk 2.下载gradle-2.14.1-all.zip 包 ...
- Android Studio 之 通过 Intent 完成点击按钮实现页面跳转
•Intent 简介 Intent 是 Android 程序中各组件之间进行交互的一种重要方式: 它不仅可以指明当前组件想要执行的动作,还可以在不同组件之间传递数据. Intent 有多个构造函数,其 ...
- Android Studio学习随笔-基本事件(点击)
最常见的点击事件有三种创建方法,在MainActivity.java的onCreate函数(在启动程序是优先运行的程序)中创建setOnClickListener(动态运行)(最常见) protect ...
- android studio使用真机测试时点击Debug调试模式时报Error running app:No target device found,点击运行模式却是启动正常的
原因是adb没检测到设备(包括真机和虚拟机). 在Terminal执行adb devices命令,查看有没有连接到的设备. 如果没有设备,确认虚拟机是否正确打开,真机是否连接打开USB调试并安装驱动. ...
- [Learn Android Studio 汉化教程]第一章 : Android Studio 介绍
注:为了看上去比较清晰这里只转载了中文 原地址: [Learn Android Studio 汉化教程]第一章 : Android Studio 介绍 本章将引导您完成安装和设置开发环境,然后你就可 ...
- Android Studio 1.0 (稳定版) 完全攻略
这篇博文中主要从以下几点进行叙述: 1.Android Studio安装与使用 2.Android Studio特性 3.Android Studio优点 Android Studio 安装与使用 A ...
- 【Android应用开发】Android Studio - MAC 版 - 快捷键详解
博客地址 : http://blog.csdn.net/shulianghan/article/details/47321177 作者 : 韩曙亮 要点总结 : -- 熟练使用快捷键 : 在任何编程环 ...
- 第一章 : Android Studio 介绍 [Learn Android Studio 汉化教程]
摘自:http://ask.android-studio.org/?/question/789,为便于学习重新整理.. 本章将引导您完成安装和设置开发环境,然后你就可以跟随本书的例子和课程学习. 首先 ...
- android studio 入门坑
安装 android studio,碰到下面这个图片,直接跳过. 安装时候,选择自定义设置,里面可以配置 sdk 的存放位置. 新建工程后,gradle sync 比较慢,可以 修改工程中的 buil ...
随机推荐
- @SpringBootApplication(exclude = {DataSourceAutoConfiguration.class}) 注解的作用
在学习boot 项目的时候 ,发现在启动类中有一个这个的注解 @SpringBootApplication(exclude = {DataSourceAutoConfiguration.class}) ...
- 开始一个django项目的流程
1.明确开发站点的主题,(即此站点的作用), 确定站点的各种功能,需求. 2.优先设计数据库. 数据库的设计要合理,不能想当然的设计,最好能够以表格的形式展现出来,避免以后遗忘,也避免内容的重复. 3 ...
- C# 读写欧姆龙(Omron)PLC ,C#使用Fins-tcp协议读写数据
本文将使用一个gitHub开源的组件技术来读写西门子plc数据,使用的是基于以太网的TCP/IP实现,不需要额外的组件,读取操作只要放到后台线程就不会卡死线程,本组件支持超级方便的高性能读写操作 ...
- IOS Block代码块的定义与使用
代码块的本质是和其他的变量类似,不同的是,代码块存储的数据是一个函数体.使用代码块,你可以像调用其他标准函数一样的调用,可以传入参数,并得到返回值. 脱字符是代码块的语法标记.下图表示代码块的 ...
- C++ 跨语言调用 Java
C++ 跨语言调用 Java Java JDK 提供了 JNI 接口供 C/C++ 程序调用 Java 编译后的类与方法,主要依赖于头文件(jni.h) 和 动态库(jvm.so/jvm.dll),由 ...
- 【转】@RequestBody注解出现的三点错误
错误1 { "timestamp": 1529747704259, "status": 415, "error": ...
- Github最简单实用的Git命令指南
create a new repository on the command line echo "# test" >> README.md git init gi ...
- 浏览器执行代码 是jsp 服务端执行的是<%%>
接着上一个视频,想使得注销页面有一个很好的效果,那到底能不能再首页页面的<head>标签里写如下代码呢? 答案是肯定不行的.看执行以后的效果,执行之后,看到的网页源代码,如下图所示,造成这 ...
- CSVN配置自动备份策略
在浏览器中登录CSVN管理页面,登录地址就是ip:3343,版本库->backup schedule ,选择type of job(备份类型),when to run(备份频率和时间),numb ...
- lua qt測試成功
用luabind寫了一個qt的簡單binding 測試成功