一种Android端防止View控件点击抖动的方法及装置制造方法及图纸

技术编号:16216221 阅读:26 留言:0更新日期:2017-09-15 22:23
本发明专利技术公开了一种Android端防止View控件点击抖动的方法及装置,该方法包括:通过AspectJ编译所述点击函数和目标函数,其中,所述目标函数为对View控件的点击函数进行自定义注解的注解函数;运行所述点击函数,检测获得用户对View控件进行点击的当前点击时间;所述目标函数获得所述当前点击时间,判断所述当前时间点之前的最近点击时间与所述当前时间之间的时间间隔是否小于时间临界值,若所述时间间隔小于所述时间临界值,确定当前点击无效,不触发所述点击函数执行当前点击对应的事件。通过上述技术方案,解决了现有技术中防止View控件抖动的项目开发工作量大、开发效率低下的技术问题,减少了开发工作量、提高了开发效率。

Method and device for preventing View control click jitter from Android end

The invention discloses a method and device for preventing Android end View control click on the jitter, the method includes: compiled by AspectJ the click function and target function, in which the objective function is to click on the function of View of the control function annotations to run the custom annotations; click the function, click on the detection to obtain the current time users click on the View control; the objective function to obtain the current click time, before the judgment between the current time of the recent click time and the current time interval time is less than the critical value, if the time interval is less than the critical value of the current time, determine the invalid click, do not trigger the click click events corresponding to the current execution function. Through the technical proposal, the technical problems of large workload and low development efficiency of the project preventing the View control from dithering in the prior art are solved, the workload of development is reduced, and the development efficiency is improved.

【技术实现步骤摘要】
一种Android端防止View控件点击抖动的方法及装置
本专利技术涉及软件
,特别涉及一种Android端防止View控件点击抖动的方法及装置。
技术介绍
目前Android端使用过程中,经常会遇到这样的情况,一个按钮点击后会弹出消息提示Toast或者对话框Dialog,如果快速重复地点击,则消息提示Toast或者对话框Dialog则会重复地出现。但实际上,这种快速重复地点击很多时候是误操作,不需要进行重复响应。Toast、Dialog等视图控件即View控件的重复出现,会导致View控件的抖动,用户体验较差。现有技术中,针对View控件抖动的问题,通常需要重新进行View控件的项目开发,即重新进行View控件代码编写,开发工作量较大、开发效率低下。可见,现有技术中防止View控件抖动的项目开发存在工作量大、开发效率低下的技术问题。
技术实现思路
本专利技术实施例提供一种Android端防止View控件点击抖动的方法及装置,用于解决现有技术中防止View控件抖动的项目开发工作量大、开发效率低下的技术问题,减少开发工作量、提高开发效率。本申请实施例提供一种Android端防止View控件点击抖动的方法,包括:通过AspectJ编译所述点击函数和目标函数,其中,所述目标函数为对View控件的点击函数进行自定义注解的注解函数;运行所述点击函数,检测获得用户对View控件进行点击的当前点击时间;所述目标函数获得所述当前点击时间,判断所述当前时间点之前的最近点击时间与所述当前时间之间的时间间隔是否小于时间临界值,若所述时间间隔小于所述时间临界值,确定当前点击无效,不触发所述点击函数执行当前点击对应的事件。可选的,通过AspectJ编译所述点击函数和目标函数,包括:获得所述目标函数的切入点Pointcut,通过AspectJ编译所述点击函数时将所述目标函数的执行代码从所述切入点Pointcut注入所述点击函数。可选的,在所述判断所述当前时间点之前的最近点击时间与所述当前时间之间的时间间隔是否小于时间临界值之前,所述方法还包括:通过连接点joinPoint获得所述View控件的View;判断所述View是否为空;若所述View不为空,执行所述判断所述当前时间点之前的最近点击时间与所述当前时间之间的时间间隔是否小于时间临界值的操作。可选的,所述最近点击时间对应的参数类型为局部变量,所述最近点击时间的初始值为零。可选的,在所述判断所述当前时间点之前的最近点击时间与所述当前时间之间的时间间隔是否小于时间临界值之后,所述方法包括:将所述最近点击时间更新为所述当前时间。可选的,所述点击函数为:单击函数、双击函数或重按函数。本申请实施例还提供一种Android端防止View控件点击抖动的装置,该装置包括:编译单元,用于通过AspectJ编译所述点击函数和自定义注解对应的目标函数,其中,所述目标函数为对View控件的点击函数进行自定义注解的注解函数;检测单元,用于运行所述点击函数,检测获得用户对View控件进行点击的当前点击时间;判断单元,用于通过所述目标函数获得所述当前点击时间,判断所述当前时间点之前的最近点击时间与所述当前时间之间的时间间隔是否小于时间临界值,若所述时间间隔小于所述时间临界值,确定当前点击无效,不触发所述点击函数执行当前点击对应的事件。可选的,所述编译单元,用于:获得所述目标函数的切入点Pointcut,通过AspectJ编译所述点击函数时将所述目标函数的执行代码从所述切入点Pointcut注入所述点击函数。可选的,所述装置还包括:获取单元,用于在所述判断所述当前时间点之前的最近点击时间与所述当前时间之间的时间间隔是否小于时间临界值之前,通过连接点joinPoint获得所述View控件的View;所述判断单元还用于:判断所述View是否为空;若所述View不为空,执行所述判断所述当前时间点之前的最近点击时间与所述当前时间之间的时间间隔是否小于时间临界值的操作。可选的,所述点击函数为:单击函数、双击函数或重按函数。本申请实施例中的上述一个或多个技术方案,至少具有如下一种或多种技术效果:本申请实施例提供一种Android端防止View控件点击抖动的方法,通过对View控件的点击函数进行自定义注解;然后,通过AspectJ编译所述点击函数和自定义注解对应的目标函数;接着,运行点击函数检测获得用户对View控件进行点击的当前点击时间;继而,通过目标函数获得当前点击时间,判断当前时间点之前的最近点击时间与当前时间之间的时间间隔是否小于时间临界值,若时间间隔小于时间临界值,确定当前点击无效,不触发点击函数执行当前点击对应的事件,从而避免了View控件重复出现导致抖动产生。即防止View控件抖动的开发过程中,只需对自定义注解的目标函数即防抖动函数进行开发,通过自定义注解和AspectJ编译即可将目标函数的执行代码注入到点击函数中,实现View控件的防抖动功能,避免了对View控件的重新开发,进而解决了现有技术中防止View控件抖动的项目开发工作量大、开发效率低下的技术问题,减少了开发工作量、提高了开发效率。附图说明图1为本申请实施例提供的一种Android端防止View控件点击抖动的方法的流程图;图2为本申请实施例提供的一种Android端防止View控件点击抖动的装置的结构框图。具体实施方式在本申请实施例提供的技术方案中,通过自定义注解和AspectJ编译将防抖动方法的执行代码注入到点击函数中,实现View控件的防抖动功能,避免了对View控件的重新开发,进而解决了现有技术中防止View控件抖动的项目开发工作量大、开发效率低下的技术问题,减少开发工作量、提高开发效率。下面对本申请涉及到的技术术语进行说明:AOP:面向切面编程,通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术。Aspectj:是一个面向切面的框架,它扩展了Java语言,定义了各种连接点集合来实现AOP。AspectJ提供了一个专门的编译器用来生成遵守Java字节编码规范的Class文件。Advice(通知):典型的Advice类型有before、after和around,分别表示在目标方法执行之前、执行后和完全替代目标方法执行的代码。Jointpoint(连接点):程序中可能作为代码注入对象的特定的点和入口。Pointcut(切入点):告诉代码注入工具,在何处注入一段特定代码的表达式。Aspect(切面):Pointcut和Advice的组合看做切面。自定义注解:自动继承了java.lang.annotation.Annotation接口,由编译程序自动完成其他细节。在自定义注解时,可以用@interface来声明一个注解,其注解中的每一个方法实际上是声明了一个配置参数。下面结合附图对本申请实施例技术方案的主要实现原理、具体实施方式及其对应能够达到的有益效果进行详细的阐述。实施例请参考图1,本申请实施例提供一种Android端防止View控件点击抖动的方法,该方法包括:S11:通过AspectJ编译所述点击函数和目标函数,其中,所述目标函数为对View控件的点击函数进行自定义注解的注解函数;S12:运行所述点击函数,检测获得用户对V本文档来自技高网...
一种Android端防止View控件点击抖动的方法及装置

【技术保护点】
一种Android端防止View控件点击抖动的方法,其特征在于,包括:通过AspectJ编译所述点击函数和目标函数,其中,所述目标函数为对View控件的点击函数进行自定义注解的注解函数;运行所述点击函数,检测获得用户对View控件进行点击的当前点击时间;所述目标函数获得所述当前点击时间,判断所述当前时间点之前的最近点击时间与所述当前时间之间的时间间隔是否小于时间临界值,若所述时间间隔小于所述时间临界值,确定当前点击无效,不触发所述点击函数执行当前点击对应的事件。

【技术特征摘要】
1.一种Android端防止View控件点击抖动的方法,其特征在于,包括:通过AspectJ编译所述点击函数和目标函数,其中,所述目标函数为对View控件的点击函数进行自定义注解的注解函数;运行所述点击函数,检测获得用户对View控件进行点击的当前点击时间;所述目标函数获得所述当前点击时间,判断所述当前时间点之前的最近点击时间与所述当前时间之间的时间间隔是否小于时间临界值,若所述时间间隔小于所述时间临界值,确定当前点击无效,不触发所述点击函数执行当前点击对应的事件。2.如权利要求1所述的方法,其特征在于,所述通过AspectJ编译所述点击函数和目标函数,包括:获得所述目标函数的切入点Pointcut,通过AspectJ编译所述点击函数时将所述目标函数的执行代码从所述切入点Pointcut注入所述点击函数。3.如权利要求1所述的方法,其特征在于,在所述判断所述当前时间之前的最近点击时间与所述当前时间之间的时间间隔是否小于时间临界值之前,所述方法还包括:通过连接点joinPoint获得所述View控件的View;判断所述View是否为空;若所述View不为空,执行所述判断所述当前时间点之前的最近点击时间与所述当前时间之间的时间间隔是否小于时间临界值的操作。4.如权利要求1所述的方法,其特征在于,所述最近点击时间对应的参数类型为局部变量,所述最近点击时间的初始值为零。5.如权利要求4所述的方法,其特征在于,在所述判断所述当前时间点之前的最近点击时间与所述当前时间之间的时间间隔是否小于时间临界值之后,所述方法包括:将所述...

【专利技术属性】
技术研发人员:杜文彬张文明陈少杰
申请(专利权)人:武汉斗鱼网络科技有限公司
类型:发明
国别省市:湖北,42

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1