今天客户反馈要求在页面跳转动画没有完成时,应当屏蔽屏幕触摸事件? 这样可以防止用户的恶意的连续性操作。
因为在项目中运用了动画效果来做页面之间的跳转。
举例说明:
PageA --> PageB use 'push_left_in' ,'push_left_out' animation
PageB--> PageA use 'push_right_in' ,'push_right_out' animation
PageA--> PageC use 3d rotation
这三个页面的右下角都有一个按钮来触发,页面跳转事件,但是当用户在PageB页面连续点击多下 button,此时的效果是:先慢慢从pageB转换到 pageA ,然后再3d旋转到paceC.
显然,后一个跳转是没有必要的。
所以就有必要对 这种情况进行有效地处理。一开始就想着“ 如何去屏蔽屏幕触摸事件 ?”,”如何去重新设置动画效果? “,结果一直找不到好的解决方案。
今天终于找对了关键词,换一种角度去思考,结果原来很简单就能解决问题。
key word ---》如何限制触摸屏事件连续响应
solution:在动画开始的时候,记住一个时间,在响应点击事件的时候,要检查一下,当前时间与保存的时候差值有没有超过1秒,如果超过,可以认为是一次有效的操作
代码如下:
@Override
public void onClick(View v) {
if(LimitLRForLTUtil.IsNormalOperation()){
System.out.println("Normally operation.... ");
startActivityForResult(IntentHelperUtil.getInstance().getIntent(ProblemDetailActivity.this, HomeActivity.class),0);
overridePendingTransition(R.anim.push_right_in,R.anim.push_right_out);
}else{
System.out.println(".... Should be disregarded ");
}
super.onClick(v);
}
/**
* be used to limit continuous response for continuous touch screen event
* @file LimitLRForLT.java
* @author Samuel.Cai
* @date Sep 28, 2011
*/
public class LimitLRForLTUtil {
private static long oldTime;
public static long INTERVALTIMEOFANIMATION = 1000;
public static void setOldTime(long time){
oldTime = time;
}
public static boolean IsNormalOperation(){
// the interval time between animations is 1000
if((System.currentTimeMillis() - oldTime) < INTERVALTIMEOFANIMATION ){
return false;
}
oldTime = System.currentTimeMillis();
return true;
}
}
分享到:
相关推荐
在开发中,有时候我们会在app中使用WebView加载一个web页面。这样可以适当减轻我们开发的难度。但是弊端是WebView中切换html,没有像原生页面的切换效果。这里我们就利用动画,以及 获取网页的快照来实现android ...
第2篇为应用开发篇,通过实例介绍了Android UI布局、Android人机界面、手机硬件设备的使用、Android本地存储系统、Android中的数据库、多线程设计、Android传感器、Android游戏开发基础、Android与Internet,以及...
android-support-v4-v7-v13-v14-v17(官方最新完整版),官方最新版的,压缩包内包含android-support-v4、android-support-v7-appcompat,android-support-v7-cardview,android-support-v7-gridlayout,android-support-...
Android应用开发揭秘-pdf全书,详细介绍Android应用程序的开发流程于相应技术,是一本适合新手入门的好书。
Android应用--简、美音乐播放器开发项目,修正一些bug的,可能还存在bug,请见谅哦
第十一章 android中的多媒体应用 第十二章 android中的图形图像 第十三章 android中的互联网应用 第十四章 android中的GPS应用 第三篇 应用篇 第十五章 android应用案例--移动警务室 第十六章 android应用案例--...
android源码-ViewPager实现微信页面切换效果 博客地址: 欢迎关注我!
[14本经典Android开发教程]-4-Android应用程序开发36技 本书共分为4篇: ※ 第一篇:介绍应用框架概念、原理和特性。 ※ 第二篇:阐述应用框架之设计技巧。亦即,如何打造应用框架。 (注:如果你的职务是「使用」...
Android项目应用源码-ViewPager-实现左右两个屏幕的切换源码,android安卓实例应用源代码,仅供学习及设计参考。
《Android应用开发详解》源码,完整版,值得看一看。 《Android核心技术和开发详解》各章案例的全部源代码,第一章将要介绍的是Android开发起步的相关知识,首先对Android平台进行简单的介绍,其中包括Android的背景...
《Android应用开发》通过丰富而翔实的实例展示了在Android平台下开发手机应用软件所必需的概念和技术。书中不仅对Android应用程序的开发环境和调试方法进行了详细介绍,而且对Android软件开发的一些关键技术和API...
将android-17.zip解压到 Android\android-sdk\platforms 文件夹下。
Android应用开发揭秘-源码 Android应用开发揭秘-源码
最重要的是还全面介绍了如何利用原生的C,C++(NDK)和Python、Lua等脚本语言(AndroidScriptingEnvironment)来开发Android应用,《Android应用开发揭秘》实战性强,书中的每个知识点都有配精心设计的示例,尤为...
最新android studio 2015/10/12日更新 2015/10/12 android-studio-bundle-141.2288178-windows
《Android应用开发揭秘》全部实例源代码,配合《Android应用开发揭秘》使用 前言 第一部分 准备篇 第1章 Android开发简介 1.1 Android基本概念 1.1.1 Android简介 1.1.2 Android的系统构架 1.1.3 ...
ksoap2-android-assembly-2.6.5-jar-with-dependencies.jar 要是需要最新的,下载地址: http://code.google.com/p/ksoap2-android/
Android开发--仿微信语音对讲录音,按住讲话进行录音,向上滑动可以进行取消录音。
杨丰盛,Android应用开发先驱,对Android有深入研究,实战经验极其丰富。精通Java、C、C++等语言,专注于移动通信软件开发,在机顶盒软件开发和MTK平台软件开发方面有非常深厚的积累。2007年获得中国软件行业协会...
测试用例,测试在Android屏幕旋转时改变布局并保存Activity状态,以及监听屏幕旋转事件。