Android关于界面一定时间无操作自动跳转到指定界面的实现
时间:2019-11-27
本文章向大家介绍 Android关于界面一定时间无操作自动跳转到指定界面的实现,主要包括 Android关于界面一定时间无操作自动跳转到指定界面的实现使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
主要用到的功能,自定义一个定时器CountTimer继承CountDownTimer。
public class CountTimer extends CountDownTimer { private Context context; /** * 参数 millisInFuture 倒计时总时间(如60S,120s等) * 参数 countDownInterval 渐变时间(每次倒计1s) */ public CountTimer(long millisInFuture, long countDownInterval,Context context) { super(millisInFuture, countDownInterval); this.context=context; } // 计时完毕时触发 @Override public void onFinish() { UIHelper.showMainActivity((Activity) context); } // 计时过程显示 @Override public void onTick(long millisUntilFinished) { } }
方法很简单,只需要在onFinish()方法中执行计时完毕的操作。
接下来在需要在执行的类里调用该方法。
这里我封装了一个类。
public class BaseDispatchTouchActivity extends AppCompatActivity{ private CountTimer countTimerView; @Override protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); init(); } private void timeStart(){ new Handler(getMainLooper()).post(new Runnable() { @Override public void run() { countTimerView.start(); } }); } private void init() { //初始化CountTimer,设置倒计时为2分钟。 countTimerView=new CountTimer(120000,1000,BaseDispatchTouchActivity.this); } /** * 主要的方法,重写dispatchTouchEvent * @param ev * @return */ @Override public boolean dispatchTouchEvent(MotionEvent ev) { switch (ev.getAction()){ //获取触摸动作,如果ACTION_UP,计时开始。 case MotionEvent.ACTION_UP: countTimerView.start(); break; //否则其他动作计时取消 default:countTimerView.cancel(); break; } return super.dispatchTouchEvent(ev); } @Override protected void onPause() { super.onPause(); countTimerView.cancel(); } @Override protected void onResume() { super.onResume(); timeStart(); } }
原文地址:https://www.cnblogs.com/008ts/p/11945497.html
- java教程
- Java快速入门
- Java 开发环境配置
- Java基本语法
- Java 对象和类
- Java 基本数据类型
- Java 变量类型
- Java 修饰符
- Java 运算符
- Java 循环结构
- Java 分支结构
- Java Number类
- Java Character类
- Java String类
- Java StringBuffer和StringBuilder类
- Java 数组
- Java 日期时间
- Java 正则表达式
- Java 方法
- Java 流(Stream)、文件(File)和IO
- Java 异常处理
- Java 继承
- Java 重写(Override)与重载(Overload)
- Java 多态
- Java 抽象类
- Java 封装
- Java 接口
- Java 包(package)
- Java 数据结构
- Java 集合框架
- Java 泛型
- Java 序列化
- Java 网络编程
- Java 发送邮件
- Java 多线程编程
- Java Applet基础
- Java 文档注释
- 干货 | Elasticsearch 运维实战常用命令清单
- 备战秋招-面经篇-[二十二]
- 快速上手Spring-Data-Redis
- Lua 5.1 参考手册
- 图文详解k8s自动化持续集成之GitLab CI/CD
- Harbor v2.0 镜像回收那些事
- redis实战第十四篇 redis cluster ask重定向
- Go命令官方指南【原译】
- 详解:如何监控小程序异常及处理错误?
- redis实战第十三篇 jedis连接redis cluster
- 哈工大李治军操作系统课程实验环境搭建
- 我用 OpenGL 实现了那些年流行的相机滤镜
- 使用minikube安装kubernetes和dashboard
- FFmpeg + OpenGLES 实现视频解码播放和视频滤镜
- 行为型设计模式:模板模式