CN104571898B - 页面的显示控制方法及装置 - Google Patents
页面的显示控制方法及装置 Download PDFInfo
- Publication number
- CN104571898B CN104571898B CN201310503755.9A CN201310503755A CN104571898B CN 104571898 B CN104571898 B CN 104571898B CN 201310503755 A CN201310503755 A CN 201310503755A CN 104571898 B CN104571898 B CN 104571898B
- Authority
- CN
- China
- Prior art keywords
- node
- visible area
- input frame
- present
- page
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0487—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
- G06F3/0488—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
- G06F3/04883—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures for inputting data by handwriting, e.g. gesture or text
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- User Interface Of Digital Computer (AREA)
- Digital Computer Display Output (AREA)
Abstract
本发明公开一种页面的显示控制方法,包括以下步骤:侦测到页面的输入框被触摸时,获得被触摸的输入框对应的节点;从所述被触摸的输入框的节点开始查找预先生成的节点树上纵坐标大于所述被触摸的输入框的节点的纵坐标的节点,获得可视区域中能够容纳的最后一个节点;将所述被触摸的输入框的节点至所述最后一个节点之间的所有节点均显示在可视区域中。本发明还公开一种页面的显示控制装置。本发明通过侦测到输入框被触摸时,则获得可视区域中能容纳的所有显示节点,然后控制该所有的显示节点在可视区域中显示。因此,本发明实施例在输入框被触摸时,可以充分利用可视区域以显示更多的信息,从而方便用户的操作。
Description
技术领域
本发明涉及计算机网络领域,尤其涉及一种页面的显示控制方法及装置。
背景技术
随着智能终端的迅速发展,人们越来越喜欢通过智能终端访问网络以获得相应的网络信息。但是在登录页面或注册页面时,页面上将提供输入框以供人们输入信息。当输入框被触发时,将弹出输入法框,如图1所示。由图1可知,当前可视区域中实际可以容纳多个输入框,但是由于输入法框的弹出,使得输入法框将输入框2盖住而无法显示在可视区域中。需要在输入框2中输入信息时,则必须先关闭输入法,再触发输入框2才能实现信息的输入,从而使得用户的操作很不方便。
发明内容
本发明实施例的主要目的是提供一种页面的显示控制方法及装置,旨在使得显示的页面可以方便用户的操作。
为达到以上目的,本发明实施例提供了一种页面的显示控制方法,包括以下步骤:
侦测到页面的输入框被触摸时,获得被触摸的输入框对应的节点;
从所述被触摸的输入框的节点开始查找预先生成的节点树上纵坐标大于所述被触摸的输入框的节点的纵坐标的节点,获得可视区域中能够容纳的最后一个节点;
将所述被触摸的输入框的节点至所述最后一个节点之间的所有节点均显示在可视区域中。
本发明实施例还提供了一种页面的显示控制装置,包括:
触摸节点获取模块,用于侦测到页面的输入框被触摸时,获得被触摸的输入框对应的节点;
可显示节点获取模块,用于从所述被触摸的输入框的节点开始查找预先生成的节点树上的节点,获得可视区域中能够显示的最后一个节点;
显示控制模块,用于将所获得的节点显示在可视区域中。
本发明实施例通过侦测到输入框被触摸时,则获得可视区域中能容纳的所有显示节点,然后控制该所有的显示节点在可视区域中显示。因此,本发明实施例在输入框被触摸时,可以充分利用可视区域以显示更多的信息,从而方便用户的操作。
附图说明
图1是现有技术中的在页面中进行信息输入时的页面示意图;
图2是本发明页面的显示控制方法第一实施例的流程示意图;
图3是本发明在屏幕中显示的页面进行信息输入时的页面示意图;
图4是本发明页面的显示控制方法中获得可视区域中能够容纳的最后一个节点的流程示意图;
图5是本发明页面的显示控制方法中获得当前节点的下一节点的流程示意图;
图6是本发明页面的显示控制方法中下一节点包括当前节点的左和/或右孩子节点时判断可视区域是否能容纳下一节点的流程示意图;
图7是本发明页面的显示控制方法中判断可视区域是否能容纳下一节点的流程示意图;
图8是本发明页面的显示控制方法中可视区域中能容纳的输入框的页面示意图;
图9是本发明页面的显示控制方法中将所述被触摸的输入框的节点至所述最后一个节点之间的所有节点均显示在可视区域中的流程示意图;
图10是使用本发明页面的显示控制方法之前可视区域中能容纳的输入框被弹出的输入法盖住的页面示意图;
图11是本发明页面的显示控制方法中通过网页内部滚动将所述被触摸的输入框的节点至所述最后一个节点之间的所有节点均显示在可视区域中的流程示意图;
图12是本发明页面的显示控制方法中通过画布滚动将所述被触摸的输入框的节点至所述最后一个节点之间的所有节点均显示在可视区域中的流程示意图;
图13是本发明页面的显示控制装置优选实施例的功能模块示意图;
图14是本发明页面的显示控制装置中可显示节点获取模块的功能模块示意图;
图15是本发明页面的显示控制装置中显示控制模块的功能模块示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
以下结合说明书附图及具体实施例进一步说明本发明的技术方案。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明的主要思想是在页面上进行信息的输入时,则判断屏幕上的可视区域内是否能容纳多个节点的信息进行显示,若是则对屏幕进行画布滚动或网页滚动,以在可视区域内合理地显示可视区域能容纳的多个节点的信息。本发明主要应用在浏览器的页面的输入框显示中,而且本发明主要应用于移动终端的浏览器上,当然也可以应用在移动终端的其他应用客户端上。在以移动终端的浏览器为例对本发明的页面的显示控制方法进行详细的描述之前,将介绍页面解析时产生的dom(文档对象模型)树和render树。
基于html的页面在解析时将生成dom树和render树,其中dom树用于描述html页面的信息,而render树则用于布局,具体负责dom树如何显示在终端屏幕上。当用户浏览一个页面时,浏览器根据页面浏览请求,向网络服务器获取数据,当网络服务器返回数据,浏览器将数据交给HTMLDocumentParser,然后HTMLDocumentParser将文本字符的解析交给HTMLDocumentTokenizer来负责,HTMLDocumentTokenizer解析出一个一个的标签(html文档时是以标签为单位),HTMLDocumentParser将标签交给HTMLTreeBuilder来构建dom树。在构建dom树的过程中,每生成一个dom节点,都将创建相应的render节点,从而生成render树。该render树中每个render节点均包含有相应的位置信息及高度信息。
参照图2,提出了本发明一种页面的显示控制方法第一实施例。本实施例的页面的显示控制方法将基于页面中构建的render树进行页面的显示,可以理解的是,该页面的显示控制方法也可以基于其他类型的树进行页面的显示,在此并不限定。本实施例的页面的显示控制方法包括以下步骤:
步骤S110、侦测到页面的输入框被触摸时,获得被触摸的输入框对应的节点;
当页面被触摸时,判断是否为页面的输入框被触摸,若是则查找节点树上被触摸的输入框对应的节点,若否则结束本流程。
步骤S120、从所述被触摸的输入框的节点开始查找预先生成的节点树上纵坐标大于所述被触摸的输入框的节点的纵坐标的节点,获得可视区域中能够容纳的最后一个节点;
以被触摸的输入框的节点作为起始节点,查找预先生成的节点树上纵坐标大于所述被触摸的输入框的节点的纵坐标的节点,然后根据节点对应的纵坐标、高度以及起始节点的纵坐标,来判断可视区域中能够容纳的最后一个节点。由于该输入框被触摸时,将弹出输入法框,因此屏幕上的可视区域则为屏幕的显示区域除掉输入法框所占用的区域之后的区域,如图3所示。
步骤S130、将所述被触摸的输入框的节点至所述最后一个节点之间的所有节点均显示在可视区域中。
当获得可视区域中能够容纳的最后一个节点时,根据预先生成的render树获得所述被触摸的输入框的节点至所述最后一个节点之间的所有节点,然后控制在可视区域中显示该所有的节点。
本发明实施例通过侦测到输入框被触摸时,则获得可视区域中能容纳的所有显示节点,然后控制该所有的显示节点在可视区域中显示。因此,本发明实施例在输入框被触摸时,可以充分利用可视区域以显示更多的信息,从而方便用户的操作。
进一步地,参照图4,上述步骤S120具体包括:
步骤S121、在预先生成的节点树上找到所述被触摸的输入框的节点,并将该节点作为当前节点;
根据节点标识,在预先生成的节点树上查找被触摸的输入框的节点,然后将该节点作为当前节点;
步骤S122、以当前节点开始,查找所述节点树中纵坐标比当前节点的纵坐标大的下一节点;
以当前节点开始查找节点树中的节点,并比较所查找的节点的纵坐标是否大于当前节点的纵坐标。若大于,则获得该节点。若不大于,则继续查找。
步骤S123、判断可视区域内是否能容纳该下一节点;当可视区域内能容纳该下一节点时,转入步骤S124;当可视区域内不能容纳该下一节点时,转入步骤S125;
获得所述节点树中纵坐标值比当前节点的纵坐标值大的下一节点后,则获得该下一节点的纵坐标及高度,然后根据该纵坐标、高度及被触摸的输入框的节点的纵坐标来判断该可视区域中是否能容纳该下一节点。当然也可以为其他方式进行判断。
步骤S124、将该下一节点作为当前节点,并转入步骤S122;
当判断可视区域内能容纳该下一节点,则将该下一节点作为当前节点,并返回执行步骤S122。
步骤S125、获得所述被触摸的输入框的节点到当前节点之间的所有节点。
当判断可视区域内不能容纳该下一节点,则获得所述被触摸的输入框的节点到当前节点之间的所有节点。
为了用户在使用过程中无需退出输入法即可方便地输入信息,在页面的显示控制方法第二实施例中,侦测到输入框被触摸时,则获得可视区域中能容纳的输入框信息,然后控制可视区域内显示该能容纳的输入框信息。基于该思想,则本实施例中所基于的节点树是由页面解析后的输入节点根据节点在页面中的纵坐标排序而成的二叉排序树。在解析页面、生成dom节点时,如果该dom节点的属性是input类、textarea类、contenteditable属性的节点,都会对应创建一个InputNode节点(y和h值都初始化为-1,isLayout为false)。然后根据render树上创建的InputNode节点对应的y值,并根据该y值构建相应的二叉排序树sortTree。该y为当前节点在排版之后的页面上的纵坐标;h为当前节点在排版之后的高度。该y与h值均可根据节点标识从render树中获得。如图5所示,基于该二叉排序树进行的页面的显示控制方法中,上述步骤S122包括:
步骤S1221、判断当前节点是否为所述被触摸的输入框的节点;当当前节点是所述被触摸的输入框的节点时,转入步骤S1222;当当前节点不是所述被触摸的输入框的节点时,转入步骤S1223;
步骤S1222、查找节点树上当前节点的右孩子节点,并将其作为所述下一节点;
由于二叉排序树中根节点下的左子树上所有节点的值均小于根节点的值,根节点下的右子树上所有节点的值均大于根节点的值。因此,若当前节点是所述被触摸的输入框的节点,则当前节点作为根节点时的右子树上的所有节点的纵坐标值均大于所述被触摸的输入框的节点的纵坐标。也就是说若当前节点是所述被触摸的输入框的节点,则仅查找节点树上当前节点的右孩子节点。若该右孩子节点不存在,则结束查找,返回下一节点为空。
步骤S1223、查找节点树上当前节点的左、右孩子节点,并将其作为所述下一节点。
如前所述,若当前节点不是所述被触摸的输入框的节点,而是当前节点作为根节点时的右子树上的其中一节点时,由于该右子树上的所有节点的纵坐标值均大于所述被触摸的输入框的节点的纵坐标,若当前节点不是所述被触摸的输入框的节点时,将查找节点树上当前节点的左、右孩子节点,一起作为当前节点的下一节点。若该节点树上仅存在当前节点的左孩子节点,则将左孩子节点作为当前节点下一节点;若该节点树上仅存在当前节点的右孩子节点,则将右孩子节点作为当前节点的下一节点。若该左孩子节点和右孩子节点均不存在,则结束查找,并返回空。
进一步地,参照图6,判断可视区域是否能容纳下一节点具体包括:
步骤S1231、判断下一节点是否包括当前节点的左、右孩子节点;是则转入步骤S1232;否则转入步骤S1234;
步骤S1232、判断可视区域是否能容纳该右孩子节点;是则转入步骤S1241a;否则转入步骤S1233;
当步骤S122获得的下一节点为当前节点的左、右孩子节点时,即当前节点不是被触摸的输入框的节点。则获得右孩子节点在页面上的纵坐标y1和高度h1,以及所述被触摸的输入框的节点的纵坐标y0,用于判断可视区域是否能容纳该右孩子节点。
步骤S124a、将该右孩子节点作为当前节点,并转入步骤S122;
当判断该右孩子节点能显示在可视区域内时,则将该右孩子节点作为当前节点,并执行步骤S122。
步骤S1233、判断可视区域是否能容纳该左孩子节点;是则转入步骤S124b;否则转入步骤S1235;
步骤S124b、将该左孩子节点作为当前节点,并转入步骤S122;
步骤S1234、判断可视区域是否能容纳下一节点;是则转入步骤S124,否则转入步骤S1235;
步骤S1235、判断可视区域内不能容纳该下一节点。
关于具体地可视区域中是否能容纳节点的步骤可参照图7所示,其中以下一节点为当前节点的右孩子节点为例进行描述。判断可视区域中是否能容纳下一节点包括:
步骤S1236、获得该下一节点的在页面上的纵坐标y1和高度h1,以及所述被触摸的输入框的节点的纵坐标y0;
步骤S1237、判断y1-y0+h1是否大于可视区域的高度,是则转入步骤S1239;否则转入步骤S1238;
步骤S1238、当y1-y0+h1≤可视区域的高度,判断可视区域内能容纳该下一节点;
当y1-y0+h1小于或等于可视区域的高度,表示该可视区域内能容纳下该下一节点。如图8所示,输入框4为下一节点时,则判断输入框1的上边缘到输入框4的下边缘之间的距离y1-y0+h1是否小于或等于可视距离的高度H,若y1-y0+h1≤H,则表示可视区域能容纳输入框1至输入框4;若y1-y0+h1>H,则表示可视区域能容纳输入框1至输入框3。
步骤S1239、当y1-y0+h1>可视区域的高度,则判断可视区域内不能容纳该下一节点。
参照图9,提出本发明页面的显示控制方法第三实施例。该实施例中,上述步骤S130包括
步骤S131、获得所获得的可视区域中能够显示的最后一个节点的纵坐标y与高度h,并计算获得纵坐标与高度的和z1=y+h;
步骤S132、当输入法上边缘的值小于z1时,获取z1与可视区域的下边缘的值之间的差;
步骤S133、根据页面可以滚动的距离与所述z1与可视区域的下边缘的值之间的差,判断以页面滚动方式还是以画布滚动方式将所获得的节点显示在可视区域中;
步骤S134、根据判断结果,进行相应的滚动方式,以将所获得的节点显示在可视区域中。
当所获得的可视区域中能够显示的最后一个节点是所述被触摸的输入框的节点,则表示不需要显示下一个或者多个输入框;当所获得的可视区域中能够显示的最后一个节点不是所述被触摸的输入框的节点,则表示还需要显示下一个或者多个输入框。因此,仅当所获得的可视区域中能够显示的最后一个节点不是所述被触摸的输入框的节点时,即可视区域可以容纳输入框1、输入框2及输入框3。其具体步骤如下:
(1)先判断可视区域中能够显示的最后一个节点是否已经在可视区域内;具体为:将z1=y+h与输入法上边缘的值mInputMethodUpperLimb进行比较,当mInputMethodUpperLimb≥z1,则表示该最后一个节点已经在可视区域内,如图7所示,输入框1、输入框2及输入框3已经在可视区域内。当mInputMethodUpperLimb<z1,则表示该最后一个节点被输入法盖住,如图10所示,输入框1、输入框2已经在可视区域内,输入框3则被弹出的输入法盖住。
(2)若是则不需要调整,若否则需要调整,即通过内部滚动和画布滚动来达到多个输入框的显示。具体为:先计算获得z1-mInputMethodUpperLimb的值,然后将其与页面可以内部滚动的距离mCanScrollDis进行比较。若mCanScrollDis≥z1-mInputMethodUpperLimb,那么计算网页内部滚动距离mBitmapScrollDis=z1-mInputMethodUpperLimb。若否则计算网页内部滚动距离mBitmapScrollDis=mCanScrollDis;计算画布滚动距离mCanvasScrollDis=z1-mInputMethodUpperLimb-mCanScrollDis。当判断mBitmapScrollDis>0时,进行网页内部滚动,如图11所示;当判断mCanvasScrollDis>0时,则进行画布滚动,如图12所示。通过画布滚动及网页内部滚动可以将可视区域能容纳的节点合理地显示在可视区域内,例如输入框,以便用户页面上输入信息不再需要退出输入法即可输入相应的信息,从而方便了用户的操作。
参照图13,提出本发明一种页面的显示控制装置第一实施例。该实施例的页面的显示控制装置包括:
触摸节点获取模块110,用于侦测到页面的输入框被触摸时,获得被触摸的输入框对应的节点;
可显示节点获取模块120,用于从所述被触摸的输入框的节点开始查找预先生成的节点树上的节点,获得可视区域中能够显示的最后一个节点;
显示控制模块130,用于将所获得的节点显示在可视区域中。
当页面被触摸时,触摸节点获取模块110判断是否为页面的输入框被触摸,若是则查找节点树上被触摸的输入框对应的节点,若否则结束本流程。然后可显示节点获取模块120以被触摸的输入框的节点作为起始节点,查找预先生成的节点树上纵坐标大于所述被触摸的输入框的节点的纵坐标的节点,然后根据节点对应的纵坐标、高度以及起始节点的纵坐标,来判断可视区域中能够容纳的最后一个节点。当获得可视区域中能够容纳的最后一个节点时,可显示节点获取模块120根据预先生成的节点树获得所述被触摸的输入框的节点至所述最后一个节点之间的所有节点,然后显示控制模块130控制在可视区域中显示该所有的节点。
本发明实施例通过侦测到输入框被触摸时,则获得可视区域中能容纳的所有显示节点,然后控制该所有的显示节点在可视区域中显示。因此,本发明实施例在输入框被触摸时,可以充分利用可视区域以显示更多的信息,从而方便用户的操作。
进一步地,参照图14,上述可显示节点获取模块120包括:
节点查找单元121,用于在预先生成的节点树上找到所述被触摸的输入框的节点,并将该节点作为当前节点;还用于以当前节点开始,查找所述节点树中纵坐标值比当前节点的纵坐标值大的下一节点;
节点判断单元122,用于判断可视区域内是否能容纳该下一节点;
节点查找循环单元123,用于当可视区域内能容纳该下一节点时,将该下一节点作为当前节点,并返回执行查找所述节点树中节点的纵坐标值比当前节点的纵坐标值大的下一节点;
可显示节点获得单元124,用于当可视区域内不能容纳该下一节点时,获得所述被触摸的输入框的节点到当前节点之间的所有节点。
节点查找单元121根据节点标识,在预先生成的节点树上查找被触摸的输入框的节点,然后将该节点作为当前节点,然后以当前节点开始查找节点树中的节点,并比较所查找的节点的纵坐标是否大于当前节点的纵坐标。若大于,则获得该节点。若不大于,则继续查找,直到获得纵坐标大于当前节点的纵坐标的节点。当获得纵坐标大于当前节点的纵坐标的节点时,节点判断单元122则获得该下一节点的纵坐标及高度,然后根据该纵坐标、高度及被触摸的输入框的节点的纵坐标来判断该可视区域中是否能容纳该下一节点。当可视区域中能容纳该下一节点,则节点循环查找单元123将该下一节点作为当前节点,继续查找纵坐标大于当前节点的纵坐标的节点。当可视区域不能容纳该下一节点,则可显示节点获得单元124获得所述被触摸的输入框的节点到当前节点之间的所有节点。
进一步地,为了用户在使用过程中无需退出输入法即可方便地输入信息,在页面的显示控制方法第二实施例中,触摸节点获取模块110侦测到输入框被触摸时,可显示节点获取模块120则获得可视区域中能容纳的输入框信息,然后显示控制模块130控制可视区域内显示该能容纳的输入框信息。基于该思想,则本实施例中所基于的节点树是由页面解析后的输入节点根据节点在页面中的纵坐标排序而成的二叉排序树。在解析页面、生成dom节点时,如果该dom节点的属性是input类、textarea类、contenteditable属性的节点,都会对应创建一个InputNode节点(y和h值都初始化为-1,isLayout为false)。然后根据render树上创建的InputNode节点对应的y值,并根据该y值构建相应的二叉排序树sortTree。该y为当前节点在排版之后的页面上的纵坐标;h为当前节点在排版之后的高度。该y与h值均可根据节点标识从render树中获得。
因此,上述节点查找单元121用于:判断当前节点是否为所述被触摸的输入框的节点;
当当前节点是所述被触摸的输入框的节点时,查找节点树上当前节点的右孩子节点,并将其作为所述下一节点;
当当前节点不是所述被触摸的输入框的节点时,查找节点树上当前节点的左、右孩子节点,并将其作为所述下一节点。
由于二叉排序树中根节点下的左子树上所有节点的值均小于根节点的值,根节点下的右子树上所有节点的值均大于根节点的值。因此,若当前节点是所述被触摸的输入框的节点,则当前节点作为根节点时的右子树上的所有节点的纵坐标值均大于所述被触摸的输入框的节点的纵坐标。也就是说若当前节点是所述被触摸的输入框的节点,则仅查找节点树上当前节点的右孩子节点。若该右孩子节点不存在,则结束查找,返回下一节点为空。若当前节点不是所述被触摸的输入框的节点,而是当前节点作为根节点时的右子树上的其中一节点时,由于该右子树上的所有节点的纵坐标值均大于所述被触摸的输入框的节点的纵坐标,若当前节点不是所述被触摸的输入框的节点时,将查找节点树上当前节点的左、右孩子节点,一起作为当前节点的下一节点。若该节点树上仅存在当前节点的左孩子节点,则将左孩子节点作为当前节点下一节点;若该节点树上仅存在当前节点的右孩子节点,则将右孩子节点作为当前节点的下一节点。若该左孩子节点和右孩子节点均不存在,则结束查找,并返回空。
进一步地,上述节点判断单元122用于:
当下一节点为当前节点的左、右孩子节点时,判断可视区域是否能容纳该右孩子节点;当可视区域能容纳右孩子节点时,将该右孩子节点作为当前节点;
当可视区域不能容纳右孩子节点时,判断可视区域是否能容纳该左孩子节点;当可视区域能容纳该左孩子节点时,将该左孩子节点作为当前节点;当可视区域不能容纳该左孩子节点时,判断可视区域不能容纳该下一节点;
当下一节点为当前节点的左孩子或右孩子时,判断可视区域是否能容纳该下一节点。
进一步地,上述节点判断单元122还用于:获得下一节点在页面上的纵坐标y1和高度h1,以及所述被触摸的输入框的节点的纵坐标y0;
当y1-y0+h1≤可视区域的高度,判断该右孩子节点能显示在可视区域内,并将该下一节点作为当前节点;当y1-y0+h1>可视区域的高度,则判断该下一节点不能显示在可视区域内。
具体地,当y1-y0+h1小于或等于可视区域的高度,表示该可视区域内能容纳下该下一节点。如图7所示,输入框4为下一节点时,则判断输入框1的上边缘到输入框4的下边缘之间的距离y1-y0+h1是否小于或等于可视距离的高度H,若y1-y0+h1≤H,则表示可视区域能容纳输入框1至输入框4;若y1-y0+h1>H,则表示可视区域能容纳输入框1至输入框3。
进一步地,参照图15,上述页面显示控制模块130包括:
节点信息获得单元131,用于获得所获得的可视区域中能够显示的最后一个节点的纵坐标y与高度h,并计算获得纵坐标与高度的和z1=y+h;
滚动方式判断单元132,用于当输入法上边缘的值小于z1时,获得z1与可视区域的下边缘的值之间的差;根据页面可以滚动的距离与所述z1与可视区域的下边缘的值之间的差,判断以页面滚动方式还是以画布滚动方式将所获得的节点显示在可视区域中;
画布滚动单元133,用于判断结果是画布滚动方式时,进行画布滚动;
网页滚动单元134,用于判断结果是网页滚动方式时,进行网页滚动。
当所获得的可视区域中能够显示的最后一个节点是所述被触摸的输入框的节点,则表示不需要显示下一个或者多个输入框;当所获得的可视区域中能够显示的最后一个节点不是所述被触摸的输入框的节点,则表示还需要显示下一个或者多个输入框。因此,仅当所获得的可视区域中能够显示的最后一个节点不是所述被触摸的输入框的节点时,即可视区域可以容纳输入框1、输入框2及输入框3。其具体步骤如下:
(1)先判断可视区域中能够显示的最后一个节点是否已经在可视区域内;具体为:将z1=y+h与输入法上边缘的值mInputMethodUpperLimb进行比较,当mInputMethodUpperLimb≥z1,则表示该最后一个节点已经在可视区域内,如图7所示,输入框1、输入框2及输入框3已经在可视区域内。当mInputMethodUpperLimb<z1,则表示该最后一个节点被输入法盖住,如图9所示,输入框1、输入框2已经在可视区域内,输入框3则被弹出的输入法盖住。
(2)若是则不需要调整,若否则需要调整,即通过内部滚动和画布滚动来达到多个输入框的显示。具体为:先计算获得z1-mInputMethodUpperLimb的值,然后将其与页面可以内部滚动的距离mCanScrollDis进行比较。若mCanScrollDis≥z1-mInputMethodUpperLimb,那么计算网页内部滚动距离mBitmapScrollDis=z1-mInputMethodUpperLimb。若否则计算网页内部滚动距离mBitmapScrollDis=mCanScrollDis;计算画布滚动距离mCanvasScrollDis=z1-mInputMethodUpperLimb-mCanScrollDis。当判断mBitmapScrollDis>0时,进行网页内部滚动,如图10所示;当判断mCanvasScrollDis>0时,则进行画布滚动,如图11所示。通过画布滚动及网页内部滚动可以将可视区域能容纳的节点合理地显示在可视区域内,例如输入框,以便用户页面上输入信息不再需要退出输入法即可输入相应的信息,从而方便了用户的操作。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该关系网络中节点的排序装置将通过若干指令实现,该若干指令存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,供终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
Claims (10)
1.一种页面的显示控制方法,其特征在于,包括以下步骤:
侦测到页面的输入框被触摸时,获得被触摸的输入框对应的节点;
从所述被触摸的输入框的节点开始查找预先生成的节点树上纵坐标大于所述被触摸的输入框的节点的纵坐标的节点,获得可视区域中能够容纳的最后一个节点;
将所述被触摸的输入框的节点至所述最后一个节点之间的所有节点均显示在可视区域中;所述可视区域为屏幕的显示区域除掉输入法框所占用的区域之后的区域;
其中,所述从被触摸的输入框的节点开始查找预先生成的节点树上纵坐标大于所述被触摸的输入框的节点的纵坐标的节点,获得可视区域中能够容纳的最后一个节点包括:
在预先生成的节点树上找到所述被触摸的输入框的节点,并将该节点作为当前节点;
以当前节点开始,查找所述节点树中纵坐标值比当前节点的纵坐标值大的下一节点;
判断可视区域内是否能容纳该下一节点;
当可视区域内能容纳该下一节点时,将该下一节点作为当前节点,并返回执行查找所述节点树中节点的纵坐标值比当前节点的纵坐标值大的下一节点;
当可视区域内不能容纳该下一节点时,获得所述被触摸的输入框的节点到当前节点之间的所有节点。
2.根据权利要求1所述的页面的显示控制方法,其特征在于,所述预先生成的节点树是由页面解析后的输入节点根据节点在页面中的纵坐标排序而成的二叉排序树,所述以当前节点开始,查找所述节点树中节点的纵坐标值比当前节点的纵坐标值大的下一节点包括:
判断当前节点是否为所述被触摸的输入框的节点;
当当前节点是所述被触摸的输入框的节点时,查找节点树上当前节点的右孩子节点,并将其作为所述下一节点;
当当前节点不是所述被触摸的输入框的节点时,查找节点树上当前节点的左、右孩子节点,并将其作为所述下一节点。
3.根据权利要求2所述的页面的显示控制方法,其特征在于,所述判断下一节点是否能显示在可视区域内包括:
当下一节点为当前节点的左、右孩子节点时,判断可视区域是否能容纳该右孩子节点;
当可视区域能容纳右孩子节点时,将该右孩子节点作为当前节点;
当可视区域不能容纳右孩子节点时,判断可视区域是否能容纳该左孩子节点;
当可视区域能容纳该左孩子节点时,将该左孩子节点作为当前节点;
当可视区域不能容纳该左孩子节点时,判断可视区域不能容纳该下一节点;
当下一节点为当前节点的左孩子或右孩子时,判断可视区域是否能容纳该下一节点。
4.根据权利要求3所述的页面的显示控制方法,其特征在于,所述判断可视区域是否能容纳该下一节点包括:
获得下一节点在页面上的纵坐标y1和高度h1,以及所述被触摸的输入框的节点的纵坐标y0;
当y1-y0+h1≤可视区域的高度,判断该右孩子节点能显示在可视区域内,并将该下一节点作为当前节点;
当y1-y0+h1>可视区域的高度,则判断该下一节点不能显示在可视区域内。
5.根据权利要求1-4任一项所述的页面的显示控制方法,其特征在于,所述将所获得的节点显示在可视区域中包括:
获得所获得的可视区域中能够显示的最后一个节点的纵坐标y与高度h,并计算获得纵坐标与高度的和z1=y+h;
当输入法上边缘的值小于z1时,获得z1与可视区域的下边缘的值之间的差;
根据页面可以滚动的距离与所述z1与可视区域的下边缘的值之间的差,判断以页面滚动方式还是以画布滚动方式将所获得的节点显示在可视区域中;
根据判断结果,进行相应的滚动方式,以将所获得的节点显示在可视区域中。
6.一种页面的显示控制装置,其特征在于,包括:
触摸节点获取模块,用于侦测到页面的输入框被触摸时,获得被触摸的输入框对应的节点;
可显示节点获取模块,用于从所述被触摸的输入框的节点开始查找预先生成的节点树上的节点,获得可视区域中能够显示的最后一个节点;
显示控制模块,用于将所获得的节点显示在可视区域中;所述可视区域为屏幕的显示区域除掉输入法框所占用的区域之后的区域;
其中,所述可显示节点获取模块包括:
节点查找单元,用于在预先生成的节点树上找到所述被触摸的输入框的节点,并将该节点作为当前节点;还用于以当前节点开始,查找所述节点树中纵坐标值比当前节点的纵坐标值大的下一节点;
节点判断单元,用于判断可视区域内是否能容纳该下一节点;
节点查找循环单元,用于当可视区域内能容纳该下一节点时,将该下一节点作为当前节点,并返回执行查找所述节点树中节点的纵坐标值比当前节点的纵坐标值大的下一节点;
可显示节点获得单元,用于当可视区域内不能容纳该下一节点时,获得所述被触摸的输入框的节点到当前节点之间的所有节点。
7.根据权利要求6所述的页面的显示控制装置,其特征在于,所述节点查找单元用于:
判断当前节点是否为所述被触摸的输入框的节点;
当当前节点是所述被触摸的输入框的节点时,查找节点树上当前节点的右孩子节点,并将其作为所述下一节点;
当当前节点不是所述被触摸的输入框的节点时,查找节点树上当前节点的左、右孩子节点,并将其作为所述下一节点。
8.根据权利要求7所述的页面的显示控制装置,其特征在于,所述节点判断单元用于:
当下一节点为当前节点的左、右孩子节点时,判断可视区域是否能容纳该右孩子节点;当可视区域能容纳右孩子节点时,将该右孩子节点作为当前节点;
当可视区域不能容纳右孩子节点时,判断可视区域是否能容纳该左孩子节点;当可视区域能容纳该左孩子节点时,将该左孩子节点作为当前节点;当可视区域不能容纳该左孩子节点时,判断可视区域不能容纳该下一节点;
当下一节点为当前节点的左孩子或右孩子时,判断可视区域是否能容纳该下一节点。
9.根据权利要求8所述的页面的显示控制装置,其特征在于,所述节点判断单元还用于:获得下一节点在页面上的纵坐标y1和高度h1,以及所述被触摸的输入框的节点的纵坐标y0;
当y1-y0+h1≤可视区域的高度,判断该右孩子节点能显示在可视区域内,并将该下一节点作为当前节点;当y1-y0+h1>可视区域的高度,则判断该下一节点不能显示在可视区域内。
10.根据权利要求6-9任一项所述的页面的显示控制装置,其特征在于,所述页面显示控制模块包括:
节点信息获得单元,用于获得所获得的可视区域中能够显示的最后一个节点的纵坐标y与高度h,并计算获得纵坐标与高度的和z1=y+h;
滚动方式判断单元,用于当输入法上边缘的值小于z1时,获得z1与可视区域的下边缘的值之间的差;根据页面可以滚动的距离与所述z1与可视区域的下边缘的值之间的差,判断以页面滚动方式还是以画布滚动方式将所获得的节点显示在可视区域中;
画布滚动单元,用于判断结果是画布滚动方式时,进行画布滚动;
网页滚动单元,用于判断结果是网页滚动方式时,进行网页滚动。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310503755.9A CN104571898B (zh) | 2013-10-23 | 2013-10-23 | 页面的显示控制方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310503755.9A CN104571898B (zh) | 2013-10-23 | 2013-10-23 | 页面的显示控制方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104571898A CN104571898A (zh) | 2015-04-29 |
CN104571898B true CN104571898B (zh) | 2018-04-27 |
Family
ID=53088102
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310503755.9A Active CN104571898B (zh) | 2013-10-23 | 2013-10-23 | 页面的显示控制方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104571898B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105025020B (zh) * | 2015-07-07 | 2017-12-29 | 成都英力拓信息技术有限公司 | 一种物联网的实现方法 |
CN106202315A (zh) * | 2016-06-30 | 2016-12-07 | 北京奇虎科技有限公司 | 数据处理的方法及装置 |
CN107734196A (zh) * | 2017-11-28 | 2018-02-23 | 福建中金在线信息科技有限公司 | 防止键盘遮挡输入源的方法和系统 |
CN111800539A (zh) * | 2020-05-29 | 2020-10-20 | 北京沃东天骏信息技术有限公司 | 视图显示方法和装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1764673A1 (en) * | 2004-04-30 | 2007-03-21 | Access Co., Ltd. | Frame page display method, frame page display device, and program |
CN101741969A (zh) * | 2008-11-07 | 2010-06-16 | 康佳集团股份有限公司 | 管理手机显示界面上多个控件的方法及其控件管理器 |
CN102364424A (zh) * | 2011-06-30 | 2012-02-29 | 广州市动景计算机科技有限公司 | 用于定位输入框的方法、装置、浏览器及移动终端 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7106312B2 (en) * | 2003-11-10 | 2006-09-12 | Microsoft Corporation | Text input window with auto-growth |
-
2013
- 2013-10-23 CN CN201310503755.9A patent/CN104571898B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1764673A1 (en) * | 2004-04-30 | 2007-03-21 | Access Co., Ltd. | Frame page display method, frame page display device, and program |
CN101741969A (zh) * | 2008-11-07 | 2010-06-16 | 康佳集团股份有限公司 | 管理手机显示界面上多个控件的方法及其控件管理器 |
CN102364424A (zh) * | 2011-06-30 | 2012-02-29 | 广州市动景计算机科技有限公司 | 用于定位输入框的方法、装置、浏览器及移动终端 |
Also Published As
Publication number | Publication date |
---|---|
CN104571898A (zh) | 2015-04-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104571898B (zh) | 页面的显示控制方法及装置 | |
AU2018282401B2 (en) | User terminal device and control method thereof | |
US9218322B2 (en) | Producing web page content | |
CN103258534B (zh) | 语音命令识别方法和电子装置 | |
JP2020507861A (ja) | 検索結果を提供する方法及び装置 | |
CN104077313B (zh) | 一种网页页面中多输入框的显示方法、装置及终端设备 | |
US20180285331A1 (en) | Method, server, browser, and system for recommending text information | |
KR102244298B1 (ko) | 의미를 기반으로 웹 페이지 접근 기록을 구조화하는 장치 및 방법 | |
US10303734B2 (en) | Method, system, and device for marking web content | |
US20130238609A1 (en) | Query result rendering | |
CN103246678A (zh) | 一种网页内容预览方法和装置 | |
CN105677815B (zh) | 一种网页书签添加方法及终端 | |
US20180039638A1 (en) | System and method for presenting related resources in image searches | |
CN106527752A (zh) | 一种用于提供输入候选项的方法与装置 | |
CN107562750A (zh) | 一种用于提供搜索结果的方法和装置 | |
CN109933805B (zh) | 文本解析方法、系统及计算机可读存储介质 | |
CN104965871A (zh) | 页面的加载方法、装置和电子设备 | |
CN105224167A (zh) | 一种窗口切换方法及装置 | |
CN107544995A (zh) | 一种用于提供搜索结果推荐信息的方法与设备 | |
CN102231147A (zh) | 一种用于实时展现联想词的方法、设备及系统 | |
CN106897289A (zh) | 信息搜索的优化方法及装置 | |
CN105334952B (zh) | 一种文本信息的输入方法和装置 | |
Guo et al. | A general approach for partitioning web page content based on geometric and style information | |
CN107291240A (zh) | 一种基于脑机接口的虚拟现实多级菜单交互方法 | |
CN116933751A (zh) | 文章生成方法、装置、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |