[发明专利]一种解决android焦点移动后丢失的方法及系统有效
申请号: | 201711443380.6 | 申请日: | 2017-12-27 |
公开(公告)号: | CN108271062B | 公开(公告)日: | 2020-05-08 |
发明(设计)人: | 苏璇 | 申请(专利权)人: | 山东云缦智能科技有限公司 |
主分类号: | H04N21/431 | 分类号: | H04N21/431;H04N21/422 |
代理公司: | 济南信达专利事务所有限公司 37100 | 代理人: | 姜明 |
地址: | 250100 山东省济南市*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 解决 android 焦点 移动 丢失 方法 系统 | ||
1.一种解决android焦点移动后丢失的方法,其特征在于,其实现过程为:
步骤一、首先给出移动指令:向上移动或向下移动;
步骤二、自动获取当前焦点所在位置,并判断给出的移动指令为向上移动还是向下移动;
步骤三、获取下一焦点位置;
步骤四、根据下一焦点位置,计算需要移动的距离,当移动指令为向下移动时,将下一个焦点距离屏幕顶点的距离与1/4屏幕的高度作比较,小于1/4屏幕的高度时下一焦点下移,大于1/4屏幕的高度时下一焦点上移:如果下一焦点距离屏幕顶点的距离大于1/4屏幕的高度,则把焦点固定在屏幕1/4处,即焦点距离屏幕顶点距离减去1/4屏幕高度就是屏幕需要向上滑动的距离;
当移动指令为向上移动时,将下一个焦点距离屏幕底部的距离与3/4屏幕的高度作比较,小于3/4屏幕的高度时下一焦点下移,大于3/4屏幕的高度时下一焦点上移:如果下一焦点位置的底部距离小于3/4屏幕的高度,则屏幕需往下滑动3/4屏幕的高度减去下一焦点位置的底部距离,通过该步骤,保证下一个焦点的位置不为空。
2.根据权利要求1所述的一种解决android焦点移动后丢失的方法,其特征在于,所述步骤二中当前焦点位置通过getCurrentFocus()方法,在当前的activity中获取焦点。
3.根据权利要求1所述的一种解决android焦点移动后丢失的方法,其特征在于,所述步骤三中下一焦点位置的获取过程为:根据当前获取焦点的控件,通过FocusFinder.getInstance().findNextFocus()方法获取到下一个焦点位置,如果返回是空,则表示到了最底端或者最顶端,无法继续下移或者上移,如果不为空,就找到下一个获取焦点的view。
4.一种解决android焦点移动后丢失的系统,其特征在于,包括:
位置获取模块,用于获取焦点所在位置;
指令判断模块,用于判断移动指令,该移动指令包括向上移动、向下移动;
位置移动模块,用于根据指令判断模块给出的判断结果,对位置获取模块获取的焦点进行移动,在移动指令为向下移动时,该位置移动模块将下一个焦点距离屏幕顶点的距离与1/4屏幕的高度作比较,小于1/4屏幕的高度时下一焦点下移,大于1/4屏幕的高度时下一焦点上移:如果下一焦点距离屏幕顶点的距离大于1/4屏幕的高度,则把焦点固定在屏幕1/4处,即焦点距离屏幕顶点距离减去1/4屏幕高度就是屏幕需要向上滑动的距离;当移动指令为向上移动时,该位置移动模块将下一个焦点距离屏幕底部的距离与3/4屏幕的高度作比较,小于3/4屏幕的高度时下一焦点下移,大于3/4屏幕的高度时下一焦点上移:如果下一焦点位置的底部距离小于3/4屏幕的高度,则屏幕需往下滑动3/4屏幕的高度减去下一焦点位置的底部距离。
5.根据权利要求4所述的一种解决android焦点移动后丢失的系统,其特征在于,所述位置获取模块中配置有当前焦点位置获取单元来获取当前焦点的位置,该当前焦点位置获取单元通过getCurrentFocus()方法,在当前的activity中获取焦点。
6.根据权利要求4所述的一种解决android焦点移动后丢失的系统,其特征在于,所述位置获取模块中配置有下一焦点位置获取单元获取下一焦点位置,该下一焦点位置获取单元根据当前获取焦点的控件,通过FocusFinder.getInstance().findNextFocus()方法获取到下一个焦点位置,如果返回是空,则表示到了最底端或者最顶端,无法继续下移或者上移,如果不为空,就找到下一个焦点位置。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于山东云缦智能科技有限公司,未经山东云缦智能科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711443380.6/1.html,转载请声明来源钻瓜专利网。