[发明专利]获取视图在屏幕上的位置变化后的位置信息的方法和装置有效
申请号: | 201710549735.3 | 申请日: | 2017-07-07 |
公开(公告)号: | CN107340955B | 公开(公告)日: | 2020-09-25 |
发明(设计)人: | 涂勇 | 申请(专利权)人: | 阿里巴巴(中国)有限公司 |
主分类号: | G06F3/0484 | 分类号: | G06F3/0484 |
代理公司: | 北京展翼知识产权代理事务所(特殊普通合伙) 11452 | 代理人: | 屠长存 |
地址: | 310052 浙江省杭州市滨江*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 获取 视图 屏幕 位置 变化 信息 方法 装置 | ||
本发明提供了一种获取视图在屏幕上的位置变化后的位置信息的方法和装置。所述方法包括:对每一个目标视图的位置变化设置相应一个全局监听;注册一个当监听到所述目标视图的位置发生变化时被调用的回调函数;响应外部命令,使得所述目标视图在屏幕上的位置发生变化;调用所述回调函数以获得所述目标视图的最新位置信息。
技术领域
本发明涉及信息处理技术领域,具体而言涉及一种获取视图在屏幕上的位置变化后的位置信息的方法和装置。
背景技术
在Android系统下的应用开发中,有时候需要将一个视图View A绑定到另一个视图View B上,当视图View B在屏幕中的位置发生变化的时候,例如View B发生了滚动或滑动,视图View A能够做自定义操作,例如跟随View B的滚动而滚动、根据View B的滚动方向做隐藏或显示、显示或隐藏广告信息、显示动画效果等自定义的操作。
然后,如何获得视图View B在屏幕中的位置发生变化后的位置信息呢?现有通用的方法是:设置监听View B的父类中所有可滚动的View C(例如:ListView、ViewPager等)的滚动事件,注意View C有且可能不止一个,获取到View C的上下、左右滚动的距离,通过该移动距离来实时找到View B在当前屏幕上的位置。再根据View B的最新位置或位置变化值,使视图View A能够做自定义操作,例如使View A跟随View B的滚动而滚动。
然而,由于父类中可滚动的View C存在一定的未知性,需要开发者特别关注哪些View C是可滚动的并且对每个可滚动的View C都要设置滚动监听。因为每次对View B添加了可滚动的父类View,都需要对该新添加的父类View设置滚动监听,所以这种方法会带来程序代码的繁琐性,软件开发的扩展性很差。
发明内容
本发明的目的在于提供一种获取视图在屏幕上的位置变化后的位置信息的方法和装置,以改善上述问题。
本发明第一实施例提供了一种获取视图在屏幕上的位置变化后的位置信息的方法,其包括:
针对每一个目标视图的位置变化设置相应一个全局监听;
注册一个当监听到所述目标视图的位置发生变化时被调用的回调函数;
响应外部命令,使得所述目标视图在屏幕上的位置发生变化;
调用所述回调函数以获得所述目标视图的最新位置信息。
其中,所述每一个目标视图可以是父视图或子视图,尤其是,例如多层嵌套视图的嵌套视图里的每一个视图均可以作为本文里所述的目标视图。
其中,该方法还包括:将所获得的所述目标视图的最新位置信息发送给与该目标视图绑定的其他一个或多个视图。
其中,在所述目标视图的位置变化值超过预设阈值时,使与该目标视图绑定的其他一个或多个视图执行自定义操作。
本发明第二实施例提供了一种获取视图在屏幕上的位置变化后的位置信息的装置,其包括:
全局监听设置单元,用于针对每一个目标视图的位置变化设置相应一个全局监听;
回调函数注册单元,用于注册一个当监听到所述目标视图的位置发生变化时被调用的回调函数;
第一执行单元,用于响应外部命令,使得所述目标视图在屏幕上的位置发生变化;
视图的位置信息获取单元,用于调用所述回调函数以获得所述目标视图的最新位置信息。
其中,所述每一个目标视图可以是父视图或子视图,尤其是,例如多层嵌套视图的嵌套视图里的每一个视图均可以作为本文里所述的目标视图。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于阿里巴巴(中国)有限公司,未经阿里巴巴(中国)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710549735.3/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种信息提取方法和装置
- 下一篇:图像中噪点的处理方法及用户终端