滑动切换activity

一、效果

手在屏幕上划过一段距离,切换页面。

二、原理

2.1手在屏幕上出发 onTouch事件

2.2在onTouch事件中完成滑动逻辑处理

   2.2.1 判断划过的x轴距离,如果大于多少,则startActivtiy

   2.2.2 判断划过的y轴距离,如果大于多少,则不换页

   2.2.3判断划过的速度,如果过慢,则不换页







3、手在屏幕上移动是很复杂的过程,谷歌提供了手势识别器工具类。

android.view.GestureDetector.SimpleOnGestureListener

在这个类里实现2的步骤。


三、代码

package com.zengmg.MobileSafe.activity.phoneguard;import android.app.Activity;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.view.GestureDetector;
import android.view.GestureDetector.SimpleOnGestureListener;
import android.view.MotionEvent;
import android.view.View;
import android.widget.Toast;/*** 设置页面基类 该activity不需要在清单文件里配置,因为不需要显示在屏幕上* * @author zengmg* */
public abstract class SetupBaseActivity extends Activity {public SharedPreferences mPref;// 手势识别器private GestureDetector mDetector;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);mPref = getSharedPreferences("config", MODE_PRIVATE);mDetector = new GestureDetector(this, new SimpleOnGestureListener() {// Fling:猛扑; 猛冲; 急伸。相当于突然划一下@Overridepublic boolean onFling(MotionEvent e1, MotionEvent e2,float velocityX, float velocityY) {// 向左滑动,下一页if (e1.getRawX() - e2.getRawX() > 120) {showNextPage();return true;}// 向右滑动,上一页else if (e2.getRawX() - e1.getRawX() > 120) {showPreviousPage();return true;}// 滑动速度慢,不换页if (Math.abs(velocityX) < 30) {Toast.makeText(SetupBaseActivity.this, "滑动太慢了哦!",Toast.LENGTH_SHORT).show();return true;}// Y方向滑动范围过大,不换页if (Math.abs(e1.getRawY() - e2.getRawY()) > 120) {Toast.makeText(SetupBaseActivity.this, "Y轴滑太大了哦!",Toast.LENGTH_SHORT).show();return true;}return super.onFling(e1, e2, velocityX, velocityY);}});}@Overridepublic boolean onTouchEvent(MotionEvent event) {mDetector.onTouchEvent(event);//把触摸事件委托给手势识别器来执行return super.onTouchEvent(event);}/*** 显示下一个页面*/public abstract void showNextPage();/*** 显示上一个页面*/public abstract void showPreviousPage();// 下一页public void next(View view) {showNextPage();}// 上一页public void previous(View view) {showPreviousPage();}}



本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/539927.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Redux的全家桶与最佳实践

2019独角兽企业重金招聘Python工程师标准>>> image.png Redux 的第一次代码提交是在 2015 年 5 月底&#xff08;也就是一年多前的样子&#xff09;&#xff0c;那个时候 React 的最佳实践还不是明晰&#xff0c;作为一个 View 层&#xff0c;有人会用 backbone 甚至…

php二分查找算法时间复杂度,一个运用二分查找算法的程序的时间复杂度是什么...

一个运用二分查找算法的程序的时间复杂度是“对数级别”。二分查找是一种效率较高的查找方法&#xff0c;算法复杂度即是while循环的次数&#xff0c;时间复杂度可以表示“O(h)O(log2n)”。本教程操作环境&#xff1a;windows7系统、Dell G3电脑。一个运用二分查找算法的程序的…

Android MediaPlayer使用方法简单介绍

1&#xff09;如何获得MediaPlayer实例&#xff1a; 可以使用直接new的方式&#xff1a;MediaPlayer mp new MediaPlayer();也可以使用create的方式&#xff0c;如&#xff1a;MediaPlayer mp MediaPlayer.create(this, R.raw.test);//这时就不用调用setDataSource了* 需要在…

oracle基本的操作命令,oracle命令基本操作

--创建表空间create tablespace TBS_OTHERS datafile G:\APP\ORCL\ORADATA\ORCL\TBS_OTHERS01.dbf size 1000m;-- 创建用户create user C##JHGL identified by jhgl default tablespace TBS_OTHERScreate user C##YJYJHGL identified by jhgl default tablespace TBS_OTHERScre…

将不确定变为确定~头压缩是否有必要,MVC如何实现头压缩

网页的头部压缩在页面体积大的情况下非常有必要做&#xff0c;它会使页面体积有一个明显的减小&#xff0c;同时加到网页从服务端下载到客户端的速度&#xff0c;以下是我做的一个测试&#xff1a; 没有使用头压缩时&#xff1a; 使用了头压缩后&#xff1a; 我们可以看到&…

android .9.png ”点九” 图片制作方法

“点九”是andriod平台的应用软件开发里的一种特殊的图片形式&#xff0c;文件扩展名为&#xff1a;.9.png 智能手机中有自动横屏的功能,同一幅界面会在随着手机(或平板电脑)中的方向传感器的参数不同而改变显示的方向,在界面改变方向后,界面上的图形会因为长宽的变化而产生拉伸…

servlet3.0异步处理

Servlet3是Tomcat7出现的新特性&#xff0c;所以需要先安装tomcat7 微信企业号使用回调模式时&#xff1a; 假如企业无法保证在五秒内处理并回复&#xff0c;可以直接回复空串&#xff0c;企业号不会对此作任何处理&#xff0c;并且不会发起重试。这种情况下&#xff0c;可以…

使用svn diff的-r参数的来比较任意两个版本的差异

1 svn diff的用法1.1 对比当前本地的工作拷贝文件(working copy)和缓存在.svn下的版本库文件的区别[plain] view plaincopyprint? svn diff 1.2 对比当前本地的工作拷贝文件(working copy)和任意版本A的差异[plain] view plaincopyprint? svn diff -rA 比如&#xff0c;以下…

深入理解HTTP Session

session在web开发中是一个非常重要的概念&#xff0c;这个概念很抽象&#xff0c;很难定义&#xff0c;也是最让人迷惑的一个名词&#xff0c;也是最多被滥用的名字之一&#xff0c;在不同的场合&#xff0c;session一次的含义也很不相同。这里只探讨HTTP Session。为了说明问题…

Hibernate的懒加载session丢失解决方法

在web.xml加入spring提供的过滤器&#xff0c;延长session的生命周期 <!--Hibernate的懒加载session丢失解决方法 --><filter><filter-name>openSessionInView</filter-name><filter-class>org.springframework.orm.hibernate4.support.OpenSess…

Linux访问其他进程空间,Linux环境进程间通信系列(五):共享内存

共享内存可以说是最有用的进程间通信方式&#xff0c;也是最快的IPC形式。两个不同进程A、B共享内存的意思是&#xff0c;同一块物理内存被映射到进程A、B各自的进程地址空间。进程A可以即时看到进程B对共享内存中数据的更新&#xff0c;反之亦然。由于多个进程共享同一块内存区…

冲刺NO.8

Alpha冲刺第八天 站立式会议 项目进展 项目稳步进行&#xff0c;项目的基础部分如基本信息管理&#xff0c;信用信息管理等部分已相对比较完善。 问题困难 技术困难在短期内很难发生质的变化&#xff0c;而本项目由于选择了队员不太熟悉的程序框架&#xff0c;所以所以项目的交…

linux由众多微内核组成,什么是linux

大家对Linux这个词比较陌生吧&#xff0c;那么Linux是什么呢&#xff1f;Linux是什么Linux是一种自由和开放源码的类Unix操作系统。目前存在着许多不同的Linux&#xff0c;但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中&#xff0c;从手机、平板电脑、路由器和视…

浅析jQuery中常用的元素查找方法总结

$("#myELement") 选择id值等于myElement的元素&#xff0c;id值不能重复在文档中只能有一个id值是myElement所以得到的是唯一的元素 $("div") 选择所有的div标签元素&#xff0c;返回div元素数组 $(".myClass") 选择使用myClass类的css的所有…

右击菜单一键优化(增加新建office2003、新建reg和bat,删除新建公文包、新建wps、新建rar)...

右击菜单一键优化&#xff08;增加新建office2003、新建reg和bat&#xff0c;删除新建公文包、新建wps、新建rar&#xff09; Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT\.doc]"Word.Document.8""Content Type""application/msword&qu…

jquery获取select选择的显示值

转载自&#xff1a;http://blog.csdn.net/a5489888/article/details/8611703 本来以为jQuery("#select1").val();是取得选中的值&#xff0c; 那么jQuery("#select1").text();就是取得的文本。 这是不正确的&#xff0c;正确做法是&#xff1a; jQuery(&qu…

克隆整个linux系统环境的软件,开源的系统克隆工具 Clonezilla(再生龙)linux、UBUNTU备份不用愁...

Clonezilla是一个很好的系统克隆工具,它基于Partimage,吸取了Norton Ghost和Partition Image的优点。即不仅支持对整个系统进行克隆,而且也可以克隆单个的分区,这种灵活性可能更能适应备份者的需要。支持GNU/Linux的文件系统 ext2、ext3、reiserfs、xfs、jfs和Windows的FAT、FA…

SqlServer2008备份与还原(完整图示版)

一、备份 1、在需要备份的数据库上&#xff0c;右键——任务——备份&#xff0c;如下&#xff1a; 2、选择备份到哪个路径和备份名字&#xff1a; 点击“添加”&#xff0c;如下&#xff0c; 3、上面点击“确定”后&#xff0c;回到第一个页面&#xff0c;选中刚才添加的路径和…

Jquery mobile问题总汇

转载&#xff1a;http://www.wglong.com/main/artical!details?id4#q6 1页面缩放显示问题 问题描述&#xff1a; 页面似乎被缩小了&#xff0c;屏幕太宽了。 解决办法&#xff1a; 在head标签内加入&#xff1a; <meta name"viewport" content"widthdevice…

Linux通过文件大小查找,linux 根据文件大小查找文件

linux下的find命令用来查找文件&#xff0c;通过man find就知道它是无所不能的。所以按照文件大小来查找文件就不在话下。从man find搜索size&#xff0c;可以看到如下信息&#xff1a;-size n[cwbkMG]File uses n units of space. The following suffixes can be used:b for 5…