[发明专利]一种基于Android的父控件设置方法和父控件有效
| 申请号: | 201810019515.4 | 申请日: | 2018-01-09 |
| 公开(公告)号: | CN110018769B | 公开(公告)日: | 2021-01-01 |
| 发明(设计)人: | 张双良;张文明;陈少杰 | 申请(专利权)人: | 武汉斗鱼网络科技有限公司 |
| 主分类号: | G06F3/0484 | 分类号: | G06F3/0484;G06F3/0488;G06F8/38 |
| 代理公司: | 北京众达德权知识产权代理有限公司 11570 | 代理人: | 刘杰 |
| 地址: | 430000 湖北省武汉市东湖开*** | 国省代码: | 湖北;42 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 基于 android 控件 设置 方法 | ||
本发明公开了一种基于Android的父控件设置方法和父控件,自定义一个父控件容器,设置所述父控件的初始化状态为拦截所有触摸事件;在所述父控件容器中放入子控件;检测所述父控件拦截到的触摸事件是否为双击事件;在拦截到的触摸事件为双击事件时,所述父控件响应所述双击事件;或者在拦截到的触摸事件为单击事件时,所述单击事件的坐标点所在的子控件响应所述单击事件。这样,本发明公开的技术方案仅需要对父控件进行修改,而无需对子控件进行修改,所以与现有技术相比,代码的集成度大大提高,从而降低了维护成本,提高了开发效率。
技术领域
本申请涉及计算机领域,尤其涉及一种基于Android的父控件设置方法和父控件。
背景技术
目前,由于移动终端更注重与用户之间的交互体验,会有很多页面的动态交互,让用户感觉到舒适的操作体验,提高用户对移动客户端的好感度。
例如,在Android客户端中,一个包含很多子控件的父控件,要让对父控件的双击事件实现一种功能,且单击事件又继续响应子控件本身的功能。而按照Android自身的事件处理方式,双击动画只会出现在点击区域中不包含子控件的区域,如果点击在子控件上,就会优先响应子控件的单击事件,而无法实现双击事件对应的功能。
目前,一般是通过更改子控件对应的代码来监测是否存在双击事件,但由于需要更改父控件中的所有子控件,代码的集成度较低,从而导致维护成本也较低和开发效率也较低的问题。
发明内容
本发明了提供了一种基于Android的父控件设置方法和父控件,以解决或者部分现有技术中监测父控件的双击事件时代码的集成度较低的技术问题。
为解决上述技术问题,本发明实施例第一方面提供了一种基于Android的父控件设置方法,所述方法包括:
自定义一个父控件容器,设置所述父控件的初始化状态为拦截所有触摸事件;
在所述父控件容器中放入子控件;
检测所述父控件拦截到的触摸事件是否为双击事件;
在拦截到的触摸事件为双击事件时,所述父控件响应所述双击事件;或者
在拦截到的触摸事件为单击事件时,所述单击事件的坐标点所在的子控件响应所述单击事件。
可选地,所述父控件继承自Android api中定义的组件。
可选地,所述设置所述父控件的初始化状态为拦截所有触摸事件,具体包括:
在所述父控件中定义两个全局变量:public boolean isIntercept=true、public boolean isTouch;以及
重写onInterceptTouchEvent和onTouchEvent方法,并在方法中返回定义所述两个全局变量。
可选地,所述检测所述父控件拦截到的触摸事件是否为双击事件,具体包括:
利用第一全局变量记录所述触摸事件的当前点击时间,以及利用第二全局变量记录所述触摸事件的最后点击时间;
将所述第一全局变量的值赋给所述第二全局变量,并将所述第一全局变量重写取值为当前系统时间;
判断所述第一全局变量与所述第二全局变量之间的时间差是否小于预设值;
若所述时间差小于所述预设值,则所述触摸事件为双击事件;或者
若所述时间差大于等于所述预设值,则所述触摸事件为单击事件。
可选地,调用setOnTouchListener方法,并在方法的回调onTouch方法中,获取并记录所述触摸事件相对于父控件的坐标。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于武汉斗鱼网络科技有限公司,未经武汉斗鱼网络科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810019515.4/2.html,转载请声明来源钻瓜专利网。





