CN103336818B - 一种电子设备上网页缩放后对齐的方法和装置 - Google Patents

一种电子设备上网页缩放后对齐的方法和装置 Download PDF

Info

Publication number
CN103336818B
CN103336818B CN201310269018.7A CN201310269018A CN103336818B CN 103336818 B CN103336818 B CN 103336818B CN 201310269018 A CN201310269018 A CN 201310269018A CN 103336818 B CN103336818 B CN 103336818B
Authority
CN
China
Prior art keywords
pixel value
scaling
webpage
web page
page contents
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.)
Expired - Fee Related
Application number
CN201310269018.7A
Other languages
English (en)
Other versions
CN103336818A (zh
Inventor
张炅轩
范国峰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Qihoo Technology Co Ltd
Qizhi Software Beijing Co Ltd
Original Assignee
Beijing Qihoo Technology Co Ltd
Qizhi Software Beijing Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Qihoo Technology Co Ltd, Qizhi Software Beijing Co Ltd filed Critical Beijing Qihoo Technology Co Ltd
Priority to CN201310269018.7A priority Critical patent/CN103336818B/zh
Publication of CN103336818A publication Critical patent/CN103336818A/zh
Priority to US14/901,512 priority patent/US10061494B2/en
Priority to PCT/CN2014/074454 priority patent/WO2014206124A1/zh
Priority to PCT/CN2014/074455 priority patent/WO2014206125A1/zh
Application granted granted Critical
Publication of CN103336818B publication Critical patent/CN103336818B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Information Transfer Between Computers (AREA)
  • Digital Computer Display Output (AREA)

Abstract

本发明公开了一种电子设备上网页缩放后对齐的方法和装置,其中所述方法包括以下步骤:获取网页显示控件的原有网页渲染处理器对象;生成继承事件处理器类的对象,将所述原有网页渲染处理器对象传递到其中,以构建定制网页渲染处理器对象,并利用所述定制网页渲染处理器对象替换所述网页显示控件的原有网页渲染处理器对象;在网页进行了缩放的情况下,在接收到刷新页面消息后,获取网页内容左侧边框的像素值,并且根据所述网页内容左侧边框的像素值移动网页内容;以及调用所述原有网页渲染处理器对象执行处理。根据本发明的实施例,可以在网页缩放之后,自动移动网页内容,使得网页内容的左侧边框与电子设备屏幕的左侧边框对齐。

Description

一种电子设备上网页缩放后对齐的方法和装置
技术领域
本发明涉及网页显示技术,尤其涉及一种电子设备上网页缩放后对齐的方法和装置。
背景技术
随着电子设备智能化的不断发展,越来越多的用户使用电子设备上的浏览器浏览网页或其它内容,而在浏览网页的操作中,对内容的缩小或放大(以下简称“缩放”)的使用场景较为普遍。例如,可以采用电子设备操作系统自带的显示控件,以Android系统为例,开启其自带的WebView控件的缩放功能,即可实现缩放。采用这种方案,用户可通过放大页面中的某一区域以更清楚地看到这一区域的具体内容,具体表现为:该区域内的图片、文字等元素都会等比例的放大。与之相对,通过缩小操作,能更清楚地看到网页的全貌,具体表现为:区域内的图片、文字等元素会等比例缩小。
然而,在网页缩放之后,经常会出现如图1所示的缩放后网页未对齐情况,如图1所示,网页中左侧的部分内容被移出电子设备的屏幕。此时,用户可以通过在电子设备屏幕上的触摸操作移动网页内容,改变其在屏幕上显示的位置,但受限于手动触摸操作的精度,往往难以使网页内容的左侧边框与电子设备屏幕的左侧边框完全对齐,网页内容难以处于屏幕上精确居中的位置,通常需要多次触摸操作调整,才能达到相对理想的显示效果。
发明内容
鉴于上述问题,提出了本发明,以便提供一种克服上述问题或者至少部分地解决上述问题的电子设备上网页缩放后对齐的方法和装置。
依据本发明的一个方面,提供了一种电子设备上网页缩放后对齐的方法,包括以下步骤:获取网页显示控件的原有网页渲染处理器对象;生成继承事件处理器类的对象,将所述原有网页渲染处理器对象传递到其中,以构建定制网页渲染处理器对象,并利用所述定制网页渲染处理器对象替换所述网页显示控件的原有网页渲染处理器对象;在网页进行了缩放的情况下,在接收到刷新页面消息后,获取网页内容左侧边框的像素值,并且根据所述网页内容左侧边框的像素值移动网页内容;以及调用所述原有网页渲染处理器对象执行处理。
可选地,在根据本发明的实施例的电子设备上网页缩放后对齐的方法中,在所述获取网页显示控件的原有网页渲染处理器对象的步骤中,从网页显示控件中反射原有网页渲染处理器对象,以获取所述原有网页渲染处理器对象。
可选地,在根据本发明的实施例的电子设备上网页缩放后对齐的方法中,在检测到所述网页显示控件的显示缩放比例发生变化时,确定网页已经进行了缩放。
可选地,在根据本发明的实施例的电子设备上网页缩放后对齐的方法中,所述获取网页内容左侧边框的像素值的步骤包括:从缩放管理器对象中反射缩放中点横坐标像素值方法以及缩放中点纵坐标像素值方法,以获取缩放中点的所在视图的横纵坐标像素值;调用网页显示控件的获取可视区域横坐标像素值方法和获取可视区域纵坐标像素值方法,以获取可视区域左下顶点在网页中的横纵坐标像素值;从网页显示控件中反射获取内容的横坐标像素值方法和获取内容的纵坐标像素值方法,并且将所述缩放中点的所在视图的横纵坐标像素值与所述可视区域左下顶点在网页中的横纵坐标像素值分别相加并作为参数传递到所述获取内容的横坐标像素值方法和所述获取内容的纵坐标像素值方法,以获取缩放中点在网页中的横坐标像素值以及缩放中点在网页中的纵坐标像素值;调用网页显示控件的获取显示缩放比例方法,以获取缩放后显示缩放比例;以及将所述缩放中点在网页中的横坐标像素值、所述缩放中点在网页中的纵坐标像素值、所述缩放后显示缩放比例作为参数传递到获取网页内容左侧边框的像素值方法,以获取网页内容左侧边框的像素值,并且在像素值为正数或零的情况下保存该像素值,而在该像素值为负数的情况下丢弃该像素值,其中所述缩放中点为缩放操作结束时的缩放中点。
可选地,在根据本发明的实施例的电子设备上网页缩放后对齐的方法中,在所述根据所述网页内容左侧边框的像素值移动网页内容的步骤中,将所保存的网页内容左侧边框的像素值、所述缩放后显示缩放比例、可视区域左下顶点在网页中的纵坐标像素值作为参数传递到移动可视区域方法,从而在水平方向上移动网页内容。
可选地,在根据本发明的实施例的电子设备上网页缩放后对齐的方法中,将所保存的网页内容左侧边框的像素值减去预先定义的像素值以获得网页内容左侧边框的第二像素值,并将所述第二像素值、所述缩放后显示缩放比例、以及可视区域左下顶点在网页中的纵坐标像素值作为参数传递到移动可视区域方法,从而在水平方向上移动网页内容。
可选地,在根据本发明的实施例的电子设备上网页缩放后对齐的方法中,当所述第二像素值小于零时,令所述第二像素值为零。
可选地,在根据本发明的实施例的电子设备上网页缩放后对齐的方法中,所述网页显示控件是Android系统的WebView控件,所述事件处理器类是Handler类,所述网页渲染处理器对象是mPrivateHandler对象,所述接收消息方法是handleMessage方法,所述缩放管理器对象是mZoomManager对象,所述缩放中点横坐标像素值方法是mZoomCenterX方法,所述缩放中点纵坐标像素值方法是mZoomCenterY方法,所述获取可视区域横坐标像素值方法是getScrollX方法,所述获取可视区域纵坐标像素值方法是getScrollY方法,所述获取内容的横坐标像素值方法是viewToContentX方法,所述获取内容的纵坐标像素值方法是viewToContentY方法,所述获取显示缩放比例方法是getScale方法,所述获取网页内容左侧边框的像素值方法是getBlockLeftEdge方法或nativeGetBlockLeftEdge方法,所述移动可视区域方法是scrollTo方法或pinScrollTo方法。
依据本发明的另一方面,提供了一种电子设备上网页缩放后对齐的装置,包括:原有网页渲染处理器对象获取模块,适于获取网页显示控件的原有网页渲染处理器对象;定制网页渲染处理器对象构建模块,适于生成继承事件处理器类的对象,将所述原有网页渲染处理器对象传递到其中,以构建定制网页渲染处理器对象,并利用所述定制网页渲染处理器对象替换所述网页显示控件的原有网页渲染处理器对象;网页内容移动模块,适于在网页进行了缩放的情况下,在接收到刷新页面消息后,获取网页内容左侧边框的像素值,并且根据所述网页内容左侧边框的像素值移动网页内容;以及渲染处理模块,适于调用所述原有网页渲染处理器对象执行处理。
可选地,在根据本发明的实施例的电子设备上网页缩放后对齐的装置中,所述原有网页渲染处理器对象获取模块适于从网页显示控件中反射原有网页渲染处理器对象,以获取所述原有网页渲染处理器对象。
可选地,在根据本发明的实施例的电子设备上网页缩放后对齐的装置中,所述网页内容移动模块适于在检测到所述网页显示控件的显示缩放比例发生变化时,确定网页已经进行了缩放。
可选地,在根据本发明的实施例的电子设备上网页缩放后对齐的装置中,所述网页内容移动模块适于通过以下方式获取网页内容左侧边框的像素值:从缩放管理器对象中反射缩放中点横坐标像素值方法以及缩放中点纵坐标像素值方法,以获取缩放中点的所在视图的横纵坐标像素值;调用网页显示控件的获取可视区域横坐标像素值方法和获取可视区域纵坐标像素值方法,以获取可视区域左下顶点在网页中的横纵坐标像素值;从网页显示控件中反射获取内容的横坐标像素值方法和获取内容的纵坐标像素值方法,并且将所述缩放中点的所在视图的横纵坐标像素值与所述可视区域左下顶点在网页中的横纵坐标像素值分别相加并作为参数传递到所述获取内容的横坐标像素值方法和所述获取内容的纵坐标像素值方法,以获取缩放中点在网页中的横坐标像素值以及缩放中点在网页中的纵坐标像素值;调用网页显示控件的获取显示缩放比例方法,以获取缩放后显示缩放比例;以及将所述缩放中点在网页中的横坐标像素值、所述缩放中点在网页中的纵坐标像素值、所述缩放后显示缩放比例作为参数传递到获取网页内容左侧边框的像素值方法,以获取网页内容左侧边框的像素值,并且在像素值为正数或零的情况下保存该像素值,而在该像素值为负数的情况下丢弃该像素值,其中所述缩放中点为缩放操作结束时的缩放中点。
可选地,在根据本发明的实施例的电子设备上网页缩放后对齐的装置中,所述网页内容移动模块适于将所保存的网页内容左侧边框的像素值、所述缩放后显示缩放比例、可视区域左下顶点在网页中的纵坐标像素值作为参数传递到移动可视区域方法,从而在水平方向上移动网页内容。
可选地,在根据本发明的实施例的电子设备上网页缩放后对齐的装置中,所述网页内容移动模块适于将所保存的网页内容左侧边框的像素值减去预先定义的像素值以获得网页内容左侧边框的第二像素值,并将所述第二像素值、所述缩放后显示缩放比例、以及可视区域左下顶点在网页中的纵坐标像素值作为参数传递到移动可视区域方法,从而在水平方向上移动网页内容。
可选地,在根据本发明的实施例的电子设备上网页缩放后对齐的装置中,当所述第二像素值小于零时,所述网页内容移动模块令所述第二像素值为零。
可选地,在根据本发明的实施例的电子设备上网页缩放后对齐的装置中,所述网页显示控件是Android系统的WebView控件,所述事件处理器类是Handler类,所述网页渲染处理器对象是mPrivateHandler对象,所述接收消息方法是handleMessage方法,所述缩放管理器对象是mZoomManager对象,所述缩放中点横坐标像素值方法是mZoomCenterX方法,所述缩放中点纵坐标像素值方法是mZoomCenterY方法,所述获取可视区域横坐标像素值方法是getScrollX方法,所述获取可视区域纵坐标像素值方法是getScrollY方法,所述获取内容的横坐标像素值方法是viewToContentX方法,所述获取内容的纵坐标像素值方法是viewToContentY方法,所述获取显示缩放比例方法是getScale方法,所述获取网页内容左侧边框的像素值方法是getBlockLeftEdge方法或nativeGetBlockLeftEdge方法,所述移动可视区域方法是scrollTo方法或pinScrollTo方法。
本发明提供了一种电子设备上网页缩放后对齐的方法和装置。根据本发明的实施例,可以构建定制网页渲染处理器对象,并且在网页进行了缩放的情况下,在接收到刷新页面消息后,获取网页内容左侧边框的像素值,并且根据所述网页内容左侧边框的像素值移动网页内容,由此可以在网页缩放之后,自动移动网页内容,使得网页内容的左侧边框与电子设备屏幕的左侧边框对齐,使得网页内容铺满屏幕,从而充分利用屏幕上的显示空间,达到理想的显示效果。根据本发明,无需人工干预,即可实现网页缩放后自动对齐,避免了手动调整不够精确、无法达到理想的显示效果的问题。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示意性地示出了电子设备上网页缩放后未对齐的网页的视图;
图2示意性地示出了根据本发明的实施例的电子设备上网页缩放后对齐的方法的流程图;
图3示意性地示出了根据本发明的实施例的获取网页内容左侧边框的像素值的步骤中的各子步骤的流程图;
图4示意性地示出了根据本发明的实施例的缩放中点在网页和可视区域中的相对位置的视图;
图5示意性地示出了根据本发明的实施例的缩放操作开始时和缩放操作结束时的缩放中点的视图;
图6示意性地示出了电子设备上网页缩放后对齐的网页的视图;以及
图7示意性地示出了根据本发明的实施例的电子设备上网页缩放后对齐的装置的框图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
图2示意性地示出了根据本发明的实施例的电子设备上网页缩放后对齐的方法的流程图。
本发明的原理适用于任何包含显示部件的电子设备,包括、但不限于:基于Windows、Linux、Mac OS、Unix等桌面操作系统的计算机;基于iOS、Android、WindowsPhone、Symbian等移动操作系统的移动电话、平板电脑、视频播放器、电子阅读器、数码相框等等。在下文中,将以基于Android系统的电子设备为例,对本发明的原理进行示例性地描述。然而,这只是为了以具体的示例描述本发明,以帮助读者理解本发明的原理,本发明的范围不限于此,而是可以适用于任何包含显示部件、基于任何操作系统的电子设备。
在下面的描述中,“缩放”均指“缩小或放大”。
如图2所示,根据本发明的实施例的电子设备上网页缩放后对齐的方法200始于步骤S201,在步骤S201中,获取网页显示控件的原有网页渲染处理器对象。
根据本发明的实施例,所述网页显示控件例如可以是Android系统的WebView控件,本发明的范围不限于此,网页显示控件可以是任何能够实现网页显示功能的控件,例如iOS系统的UIWebView控件等。
根据本发明的实施例,对于Android,网页渲染处理器对象可以是mPrivateHandler对象,本发明的范围不限于此,其还可以例如是Windows系统中的WindowMessages或其它系统中的类似模块。对于Android系统,网页渲染处理器对象是一种从浏览器内核组件WebKit向WebView发送消息的处理模块,在Android系统中,其是用Handler的方式实现的,起到接收消息事件的作用。由于WebView仅仅是为了显示和接收触摸事件,而真正的操作均在WebKit组件中进行,因此在WebKit组件处理完毕时,会发送一条或者多条通知到WebView控件,以实现及时的刷新和处理。网页渲染处理器对象仅有一个方法,即接收消息方法,对于Android系统为handleMessage方法,由系统调用,发生条件为WebView收到来自WebKit的消息。
根据本发明的实施例,在上述步骤S201中,可以从网页显示控件中反射原有网页渲染处理器对象,以获取所述原有网页渲染处理器对象。
根据本发明的实施例,对于反射操作,可以采用Java语言、.Net语言等提供的反射机制来进行操作,将方法或对象从私有属性临时变为公有属性,以供直接使用和修改。本领域技术人员能够理解,同样可以采用其它的程序设计语言,以相似的方式将方法或对象从私有属性临时变为公有属性,以达到反射操作的目的。
接下来,在步骤S203中,生成继承事件处理器类的对象,将所述原有网页渲染处理器对象传递到其中,以构建定制网页渲染处理器对象,并利用所述定制网页渲染处理器对象替换所述网页显示控件的原有网页渲染处理器对象。
根据本发明的实施例,在步骤S203中,可以生成一个对象,使其继承事件处理器类的对象。例如,对于Android系统,所述事件处理器类是Handler类。这样,该对象就可以实现其自己的接收消息方法(对于Android系统是handleMessage方法),然后,需要将所述原有网页渲染处理器对象传递到其中,以构建定制网页渲染处理器对象,这样,在使用定制网页渲染处理器对象之后,还可以调用系统的原有网页渲染处理器对象。最后,利用所述定制网页渲染处理器对象替换所述网页显示控件的原有网页渲染处理器对象。
在步骤S203之后,执行步骤S205,其中,在网页进行了缩放的情况下,在接收到刷新页面消息后,获取网页内容左侧边框的像素值,并且根据所述网页内容左侧边框的像素值移动网页内容。
根据本发明的实施例,在步骤S205中,在检测到所述网页显示控件的显示缩放比例发生变化时,确定网页已经进行了缩放。根据本发明的实施例,显示缩放比例是指“网页宽度”/“屏幕宽度”,在屏幕宽度不发生变化的情况下,一旦网页进行缩放,网页宽度发生变化,网页显示控件的显示缩放比例也会发生变化,可以据此确定网页已经进行了缩放。
在步骤S205中,接下来,要判断是否接收到刷新页面消息。一般情况下,每发生一次网页的变化,不管这种变化是来自于用户的操作、还是网页的动画、或是网页的脚本,只要网页在屏幕上有内容改变,WebView控件就都会收到刷新页面消息。通常每隔2-3秒、或者用户对网页进行操作、或者网页自身发生了变化,刷新页面消息都会被调用1-10次不等。在Android系统中,该刷新页面消息的编号为105,消息名称为“NEW_PICTURE_MSG_ID”,该消息在其它系统中的编号略有不同。根据本发明的实施例,可以在接收到刷新页面消息之后、下一次再接收到刷新页面消息时开始执行根据本发明的对齐操作,在Android系统中,也即使用Handler的post方法。这是因为若在当次接收到刷新页面消息就进行对齐操作,可能会影响之前的网页缩放操作对页面刷新的效率,因此在下一次接收到刷新页面消息(不超过10ms)时再进行对齐操作是比较理想的。
根据本发明的实施例,在上述步骤S205中,所述获取网页内容左侧边框的像素值的步骤包括子步骤S205a、S205b、S205c、S205d、以及S205e。图3示意性地示出了根据本发明的实施例的获取网页内容左侧边框的像素值的步骤中的各子步骤的流程图。
根据本发明的实施例,所述网页内容不仅可以包括文字内容,也可以包括图片、视频等其它内容。
如图3所示,在子步骤S205a中,从缩放管理器对象中反射缩放中点横坐标像素值方法以及缩放中点纵坐标像素值方法,以获取缩放中点的所在视图的横纵坐标像素值。
根据本发明的实施例,对于Android系统,所述缩放管理器对象可以是mZoomManager对象,该对象可以直接或间接地被WebView控件调用,这样就可以将缩放操作从原本就很复杂的WebView控件中抽离出来,成为较为独立的模块,并被WebView控件(甚至其它的控件)所用。其中,在Android2.3.x或更早版本中,这个Java类就是WebView控件类,即WebView类;而在Android3.0及以后的版本,该对象为WebView控件所直接使用的一个Java类的对象,即ZoomManager类的对象。而对于Android系统,所述缩放中点横坐标像素值方法可以是mZoomCenterX方法,所述缩放中点纵坐标像素值方法可以是mZoomCenterY方法。
图4示意性地示出了根据本发明的实施例的缩放中点在网页和可视区域中的相对位置的视图。在子步骤S205a中,获取缩放中点的所在视图的横纵坐标像素值,如图4所示,所获取的是缩放中点相对于显示区域左下角顶点O1的横纵坐标像素值(x1,y1)。
图5示意性地示出了根据本发明的实施例的缩放操作开始时和缩放操作结束时的缩放中点的视图。如图5所示,缩放操作开始时缩放中点所在位置的坐标为(x0,y0),而缩放操作结束时缩放中点所在位置的坐标为(x1,y1)。在步骤S205中,缩放中点均为缩放操作结束时的缩放中点,即图5中的(x1,y1)。
如图3所示,接下来,在子步骤S205b中,调用网页显示控件的获取可视区域横坐标像素值方法和获取可视区域纵坐标像素值方法,以获取可视区域左下顶点在网页中的横纵坐标像素值。根据本发明的实施例,所述获取可视区域横坐标像素值方法可以是getScrollX方法,所述获取可视区域纵坐标像素值方法可以是getScrollY方法。如图4所示,在子步骤S205b中要获取的是可视区域左下顶点O1相对于网页左下顶点O2的横纵坐标像素值(x2,y2)。
如图3所示,之后,执行子步骤S205c,其中,从网页显示控件中反射获取内容的横坐标像素值方法和获取内容的纵坐标像素值方法,并且将所述缩放中点的所在视图的横纵坐标像素值与所述可视区域左下顶点在网页中的横纵坐标像素值分别相加并作为参数传递到所述获取内容的横坐标像素值方法和所述获取内容的纵坐标像素值方法,以获取缩放中点在网页中的横坐标像素值以及缩放中点在网页中的纵坐标像素值。
根据本发明的实施例,对于Android系统,所述获取内容的横坐标像素值方法可以是viewToContentX方法,所述获取内容的纵坐标像素值方法可以是viewToContentY方法。在子步骤S205c中,将所述缩放中点的所在视图的横纵坐标像素值与所述可视区域左下顶点在网页中的横纵坐标像素值分别相加,可以得到横纵坐标像素值(x1+x2,y1+y2),即,缩放中点相对于网页左下顶点O2的横纵坐标像素值,也就是缩放中点在网页中的横坐标像素值以及缩放中点在网页中的纵坐标像素值。将(x1+x2,y1+y2)作为参数传递到所述获取内容的横坐标像素值方法和所述获取内容的纵坐标像素值方法的目的是去除一些边框、滚动条等像素,从而得到更准确的位置表示。
如图3所示,然后,执行子步骤S205d,其中,调用网页显示控件的获取显示缩放比例方法,以获取缩放后显示缩放比例。根据本发明的实施例,对于Android系统,所述获取显示缩放比例方法是getScale方法。在子步骤S205d中,所要获取的是缩放结束后的显示缩放比例。
如图3所示,接着,执行子步骤S205e,其中,将所述缩放中点在网页中的横坐标像素值、所述缩放中点在网页中的纵坐标像素值、所述缩放后显示缩放比例作为参数传递到获取网页内容左侧边框的像素值方法,以获取网页内容左侧边框的像素值,并且在像素值为正数或零的情况下保存该像素值,而在该像素值为负数的情况下丢弃该像素值。根据本发明的实施例,对于Android系统,所述获取网页内容左侧边框的像素值方法是getBlockLeftEdge方法或nativeGetBlockLeftEdge方法。对于Android4.1.x版本及之后的版本,可以使用getBlockLeftEdge方法,而对于Android4.1.x之前的版本,可以使用nativeGetBlockLeftEdge方法。对于Android系统,可以通过获取Build.VERSION.SDK_INT对象来得到Android系统的版本号。
在子步骤S205e中,可以将上述横纵坐标像素值(x1+x2,y1+y2)以及缩放后显示缩放比例作为参数传递到getBlockLeftEdge方法或nativeGetBlockLeftEdge方法,在所返回的网页内容左侧边框的像素值为负数的情况下,表明没有获得网页内容左侧边框的像素值,无法执行对齐操作,此时可以丢弃该像素值。而在所返回的网页内容左侧边框的像素值为正数或零的情况下,表明已经获得了网页内容左侧边框的像素值。
在步骤S205中,接下来,根据所述网页内容左侧边框的像素值移动网页内容。根据本发明的实施例,可以将所保存的网页内容左侧边框的像素值、所述缩放后显示缩放比例、可视区域左下顶点在网页中的纵坐标像素值(即,上述y2)作为参数传递到移动可视区域方法,从而在水平方向上移动网页内容。即,仅在水平方向上调整可视区域的位置,而在垂直方向上不变。对于Android系统,所述移动可视区域方法是scrollTo方法或pinScrollTo方法。
根据本发明的实施例,在步骤S205中,可以将所保存的网页内容左侧边框的像素值减去预先定义的像素值以获得网页内容左侧边框的第二像素值,并将所述第二像素值、所述缩放后显示缩放比例、以及可视区域左下顶点在网页中的纵坐标像素值作为参数传递到移动可视区域方法,从而在水平方向上移动网页内容。将所保存的网页内容左侧边框的像素值减去预先定义的像素值这一步骤的目的是能够确保正常对齐,该预先定义的像素值可以根据实际需要进行选取,例如5像素,即将所保存的网页内容左侧边框的像素值减去5像素,以获得网页内容左侧边框的第二像素值。根据本发明的实施例,当所述第二像素值小于零时,令所述第二像素值为零。然后,就可以将所述第二像素值、所述缩放后显示缩放比例、以及可视区域左下顶点在网页中的纵坐标像素值(即,上述y2)作为参数传递到移动可视区域方法,从而在水平方向上移动网页内容。
再次重申,在步骤S205的上述各子步骤中所使用的缩放中点为缩放操作结束时的缩放中点。
在步骤S205之后,执行步骤S207,其中,调用所述原有网页渲染处理器对象执行处理。
在执行了根据本发明的实施例的电子设备上网页缩放后对齐的方法200中的上述各步骤之后,就可以实现在网页缩放后与屏幕的左侧边框对齐的效果,如图6所示,其中示意性地示出了电子设备上网页缩放后对齐的网页的视图。
本发明提供了一种电子设备上网页缩放后对齐的方法。根据本发明的实施例,可以构建定制网页渲染处理器对象,并且在网页进行了缩放的情况下,在接收到刷新页面消息后,获取网页内容左侧边框的像素值,并且根据所述网页内容左侧边框的像素值移动网页内容,由此可以在网页缩放之后,自动移动网页内容,使得网页内容的左侧边框与电子设备屏幕的左侧边框对齐,使得网页内容铺满屏幕,从而充分利用屏幕上的显示空间,达到理想的显示效果。根据本发明,无需人工干预,即可实现网页缩放后自动对齐,避免了手动调整不够精确、无法达到理想的显示效果的问题。
与上述的方法200相对应,本发明还提供了一种电子设备上网页缩放后对齐的装置700。图7示意性地图示了根据本发明的实施例的电子设备上网页缩放后对齐的装置700的框图。
参见图7,所述电子设备上网页缩放的装置700主要包括原有网页渲染处理器对象获取模块701、定制网页渲染处理器对象构建模块703、网页内容移动模块705、以及渲染处理模块707。
根据本发明的实施例,原有网页渲染处理器对象获取模块701适于获取网页显示控件的原有网页渲染处理器对象;定制网页渲染处理器对象构建模块703适于生成继承事件处理器类的对象,将所述原有网页渲染处理器对象传递到其中,以构建定制网页渲染处理器对象,并利用所述定制网页渲染处理器对象替换所述网页显示控件的原有网页渲染处理器对象;网页内容移动模块705适于在网页进行了缩放的情况下,在接收到刷新页面消息后,获取网页内容左侧边框的像素值,并且根据所述网页内容左侧边框的像素值移动网页内容;渲染处理模块707适于调用所述原有网页渲染处理器对象执行处理。
根据本发明的实施例,首先,原有网页渲染处理器对象获取模块701获取网页显示控件的原有网页渲染处理器对象。
根据本发明的实施例,所述网页显示控件例如可以是Android系统的WebView控件,本发明的范围不限于此,网页显示控件可以是任何能够实现网页显示功能的控件,例如iOS系统的UIWebView控件等。
根据本发明的实施例,对于Android,网页渲染处理器对象可以是mPrivateHandler对象,本发明的范围不限于此,其还可以例如是Windows系统中的WindowMessages或其它系统中的类似模块。对于Android系统,网页渲染处理器对象是一种从浏览器内核组件WebKit向WebView发送消息的处理模块,在Android系统中,其是用Handler的方式实现的,起到接收消息事件的作用。由于WebView仅仅是为了显示和接收触摸事件,而真正的操作均在WebKit组件中进行,因此在WebKit组件处理完毕时,会发送一条或者多条通知到WebView控件,以实现及时的刷新和处理。网页渲染处理器对象仅有一个方法,即接收消息方法,对于Android系统为handleMessage方法,由系统调用,发生条件为WebView收到来自WebKit的消息。
根据本发明的实施例,原有网页渲染处理器对象获取模块701可以从网页显示控件中反射原有网页渲染处理器对象,以获取所述原有网页渲染处理器对象。
根据本发明的实施例,对于反射操作,原有网页渲染处理器对象获取模块701可以采用Java语言、.Net语言等提供的反射机制来进行操作,将方法或对象从私有属性临时变为公有属性,以供直接使用和修改。本领域技术人员能够理解,同样可以采用其它的程序设计语言,以相似的方式将方法或对象从私有属性临时变为公有属性,以达到反射操作的目的。
接下来,定制网页渲染处理器对象构建模块703生成继承事件处理器类的对象,将所述原有网页渲染处理器对象传递到其中,以构建定制网页渲染处理器对象,并利用所述定制网页渲染处理器对象替换所述网页显示控件的原有网页渲染处理器对象。
根据本发明的实施例,定制网页渲染处理器对象构建模块703可以生成一个对象,使其继承事件处理器类的对象。例如,对于Android系统,所述事件处理器类是Handler类。这样,该对象就可以实现其自己的接收消息方法(对于Android系统是handleMessage方法),然后,定制网页渲染处理器对象构建模块703需要将所述原有网页渲染处理器对象传递到其中,以构建定制网页渲染处理器对象,这样,在装置700使用定制网页渲染处理器对象之后,还可以调用系统的原有网页渲染处理器对象。最后,定制网页渲染处理器对象构建模块703利用所述定制网页渲染处理器对象替换所述网页显示控件的原有网页渲染处理器对象。
之后,在网页进行了缩放的情况下,在网页内容移动模块705接收到刷新页面消息后,获取网页内容左侧边框的像素值,并且根据所述网页内容左侧边框的像素值移动网页内容。
根据本发明的实施例,网页内容移动模块705在检测到所述网页显示控件的显示缩放比例发生变化时,确定网页已经进行了缩放。根据本发明的实施例,显示缩放比例是指“网页宽度”/“屏幕宽度”,在屏幕宽度不发生变化的情况下,一旦网页进行缩放,网页宽度发生变化,网页显示控件的显示缩放比例也会发生变化,可以据此确定网页已经进行了缩放。
接下来,网页内容移动模块705要判断是否接收到刷新页面消息。一般情况下,每发生一次网页的变化,不管这种变化是来自于用户的操作、还是网页的动画、或是网页的脚本,只要网页在屏幕上有内容改变,WebView空间就都会收到刷新页面消息。通常每隔2-3秒、或者用户对网页进行操作、或者网页自身发生了变化,刷新页面消息都会被调用1-10次不等。在Android系统中,该刷新页面消息的编号为105,消息名称为“NEW_PICTURE_MSG_ID”,该消息在其它系统中的编号略有不同。根据本发明的实施例,网页内容移动模块705可以在接收到刷新页面消息之后、下一次再接收到刷新页面消息时开始执行根据本发明的对齐操作,在Android系统中,也即使用Handler的post方法。这是因为若在当次接收到刷新页面消息就进行对齐操作,可能会影响之前的网页缩放操作对页面刷新的效率,因此在下一次接收到刷新页面消息(不超过10ms)时再进行对齐操作是比较理想的。
根据本发明的实施例,所述网页内容不仅可以包括文字内容,也可以包括图片、视频等其它内容。
为了获取网页内容左侧边框的像素值,网页内容移动模块705可以首先从缩放管理器对象中反射缩放中点横坐标像素值方法以及缩放中点纵坐标像素值方法,以获取缩放中点的所在视图的横纵坐标像素值。
根据本发明的实施例,对于Android系统,所述缩放管理器对象可以是mZoomManager对象,该对象可以直接或间接地被WebView控件调用,这样就可以将缩放操作从原本就很复杂的WebView控件中抽离出来,成为较为独立的模块,并被WebView控件(甚至其它的控件)所用。其中,在Android2.3.x或更早版本中,这个Java类就是WebView控件类,即WebView类;而在Android3.0及以后的版本,该对象为WebView控件所直接使用的一个Java类的对象,即ZoomManager类的对象。而对于Android系统,所述缩放中点横坐标像素值方法可以是mZoomCenterX方法,所述缩放中点纵坐标像素值方法可以是mZoomCenterY方法。
图4示意性地示出了根据本发明的实施例的缩放中点在网页和可视区域中的相对位置的视图。网页内容移动模块705获取缩放中点的所在视图的横纵坐标像素值,如图4所示,网页内容移动模块705所获取的是缩放中点相对于显示区域左下角顶点O1的横纵坐标像素值(x1,y1)。
图5示意性地示出了根据本发明的实施例的缩放操作开始时和缩放操作结束时的缩放中点的视图。如图5所示,缩放操作开始时缩放中点所在位置的坐标为(x0,y0),而缩放操作结束时缩放中点所在位置的坐标为(x1,y1)。根据本发明的实施例,网页内容移动模块705的操作所针对的缩放中点均为缩放操作结束时的缩放中点,即图5中的(x1,y1)。
接下来,网页内容移动模块705可以调用网页显示控件的获取可视区域横坐标像素值方法和获取可视区域纵坐标像素值方法,以获取可视区域左下顶点在网页中的横纵坐标像素值。根据本发明的实施例,所述获取可视区域横坐标像素值方法可以是getScrollX方法,所述获取可视区域纵坐标像素值方法可以是getScrollY方法。如图4所示,网页内容移动模块705要获取的是可视区域左下顶点O1相对于网页左下顶点O2的横纵坐标像素值(x2,y2)。
之后,网页内容移动模块705可以从网页显示控件中反射获取内容的横坐标像素值方法和获取内容的纵坐标像素值方法,并且将所述缩放中点的所在视图的横纵坐标像素值与所述可视区域左下顶点在网页中的横纵坐标像素值分别相加并作为参数传递到所述获取内容的横坐标像素值方法和所述获取内容的纵坐标像素值方法,以获取缩放中点在网页中的横坐标像素值以及缩放中点在网页中的纵坐标像素值。
根据本发明的实施例,对于Android系统,所述获取内容的横坐标像素值方法可以是viewToContentX方法,所述获取内容的纵坐标像素值方法可以是viewToContentY方法。网页内容移动模块705将所述缩放中点的所在视图的横纵坐标像素值与所述可视区域左下顶点在网页中的横纵坐标像素值分别相加,可以得到横纵坐标像素值(x1+x2,y1+y2),即,缩放中点相对于网页左下顶点O2的横纵坐标像素值,也就是缩放中点在网页中的横坐标像素值以及缩放中点在网页中的纵坐标像素值。网页内容移动模块705将(x1+x2,y1+y2)作为参数传递到所述获取内容的横坐标像素值方法和所述获取内容的纵坐标像素值方法的目的是去除一些边框、滚动条等像素,从而得到更准确的位置表示。
然后,网页内容移动模块705可以调用网页显示控件的获取显示缩放比例方法,以获取缩放后显示缩放比例。根据本发明的实施例,对于Android系统,所述获取显示缩放比例方法是getScale方法。网页内容移动模块705所要获取的是缩放结束后的显示缩放比例。
接着,网页内容移动模块705可以将所述缩放中点在网页中的横坐标像素值、所述缩放中点在网页中的纵坐标像素值、所述缩放后显示缩放比例作为参数传递到获取网页内容左侧边框的像素值方法,以获取网页内容左侧边框的像素值,并且在像素值为正数或零的情况下保存该像素值,而在该像素值为负数的情况下丢弃该像素值。根据本发明的实施例,对于Android系统,所述获取网页内容左侧边框的像素值方法是getBlockLeftEdge方法或nativeGetBlockLeftEdge方法。对于Android4.1.x版本及之后的版本,可以使用getBlockLeftEdge方法,而对于Android4.1.x之前的版本,可以使用nativeGetBlockLeftEdge方法。对于Android系统,可以通过获取Build.VERSION.SDK_INT对象来得到Android系统的版本号。
网页内容移动模块705可以将上述横纵坐标像素值(x1+x2,y1+y2)以及缩放后显示缩放比例作为参数传递到getBlockLeftEdge方法或nativeGetBlockLeftEdge方法,在所返回的网页内容左侧边框的像素值为负数的情况下,表明没有获得网页内容左侧边框的像素值,无法执行对齐操作,此时网页内容移动模块705可以丢弃该像素值。而在所返回的网页内容左侧边框的像素值为正数或零的情况下,表明已经获得了网页内容左侧边框的像素值。
接下来,网页内容移动模块705根据所述网页内容左侧边框的像素值移动网页内容。根据本发明的实施例,网页内容移动模块705可以将所保存的网页内容左侧边框的像素值、所述缩放后显示缩放比例、可视区域左下顶点在网页中的纵坐标像素值(即,上述y2)作为参数传递到移动可视区域方法,从而在水平方向上移动网页内容。即,仅在水平方向上调整可视区域的位置,而在垂直方向上不变。对于Android系统,所述移动可视区域方法是scrollTo方法或pinScrollTo方法。
根据本发明的实施例,网页内容移动模块705可以将所保存的网页内容左侧边框的像素值减去预先定义的像素值以获得网页内容左侧边框的第二像素值,并将所述第二像素值、所述缩放后显示缩放比例、以及可视区域左下顶点在网页中的纵坐标像素值作为参数传递到移动可视区域方法,从而在水平方向上移动网页内容。网页内容移动模块705将所保存的网页内容左侧边框的像素值减去预先定义的像素值的目的是能够确保正常对齐,该预先定义的像素值可以根据实际需要进行选取,例如5像素,即将所保存的网页内容左侧边框的像素值减去5像素,以获得网页内容左侧边框的第二像素值。根据本发明的实施例,当所述第二像素值小于零时,网页内容移动模块705令所述第二像素值为零。然后,网页内容移动模块705就可以将所述第二像素值、所述缩放后显示缩放比例、以及可视区域左下顶点在网页中的纵坐标像素值(即,上述y2)作为参数传递到移动可视区域方法,从而在水平方向上移动网页内容。
再次重申,网页内容移动模块705的操作中所涉及的缩放中点为缩放操作结束时的缩放中点。
之后,渲染处理模块707调用所述原有网页渲染处理器对象执行处理。
在根据本发明的实施例的电子设备上网页缩放后对齐的装置700执行了上述各操作之后,就可以实现在网页缩放后与屏幕的左侧边框对齐的效果,如图6所示,其中示意性地示出了电子设备上网页缩放后对齐的网页的视图。
由于上述各设备(装置)实施例与前述各方法实施例相对应,因此不再对各装置实施例进行详细描述。
在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的装置中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个装置中。可以把实施例中的若干模块组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者模块中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个装置实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的装置中的一些或者全部模块的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
本发明的实施例公开了A1.一种电子设备上网页缩放后对齐的方法,包括以下步骤:获取网页显示控件的原有网页渲染处理器对象;生成继承事件处理器类的对象,将所述原有网页渲染处理器对象传递到其中,以构建定制网页渲染处理器对象,并利用所述定制网页渲染处理器对象替换所述网页显示控件的原有网页渲染处理器对象;在网页进行了缩放的情况下,在接收到刷新页面消息后,获取网页内容左侧边框的像素值,并且根据所述网页内容左侧边框的像素值移动网页内容;以及调用所述原有网页渲染处理器对象执行处理。A2.如A1所述的方法,其中在所述获取网页显示控件的原有网页渲染处理器对象的步骤中,从网页显示控件中反射原有网页渲染处理器对象,以获取所述原有网页渲染处理器对象。A3.如A1所述的方法,其中在检测到所述网页显示控件的显示缩放比例发生变化时,确定网页已经进行了缩放。A4.如A1至A3中的任一项所述的方法,其中所述获取网页内容左侧边框的像素值的步骤包括:从缩放管理器对象中反射缩放中点横坐标像素值方法以及缩放中点纵坐标像素值方法,以获取缩放中点的所在视图的横纵坐标像素值;调用网页显示控件的获取可视区域横坐标像素值方法和获取可视区域纵坐标像素值方法,以获取可视区域左下顶点在网页中的横纵坐标像素值;从网页显示控件中反射获取内容的横坐标像素值方法和获取内容的纵坐标像素值方法,并且将所述缩放中点的所在视图的横纵坐标像素值与所述可视区域左下顶点在网页中的横纵坐标像素值分别相加并作为参数传递到所述获取内容的横坐标像素值方法和所述获取内容的纵坐标像素值方法,以获取缩放中点在网页中的横坐标像素值以及缩放中点在网页中的纵坐标像素值;调用网页显示控件的获取显示缩放比例方法,以获取缩放后显示缩放比例;以及将所述缩放中点在网页中的横坐标像素值、所述缩放中点在网页中的纵坐标像素值、所述缩放后显示缩放比例作为参数传递到获取网页内容左侧边框的像素值方法,以获取网页内容左侧边框的像素值,并且在像素值为正数或零的情况下保存该像素值,而在该像素值为负数的情况下丢弃该像素值,其中所述缩放中点为缩放操作结束时的缩放中点。A5.如A4所述的方法,其中在所述根据所述网页内容左侧边框的像素值移动网页内容的步骤中,将所保存的网页内容左侧边框的像素值、所述缩放后显示缩放比例、可视区域左下顶点在网页中的纵坐标像素值作为参数传递到移动可视区域方法,从而在水平方向上移动网页内容。A6.如A4所述的方法,其中在所述根据所述网页内容左侧边框的像素值移动网页内容的步骤中,将所保存的网页内容左侧边框的像素值减去预先定义的像素值以获得网页内容左侧边框的第二像素值,并将所述第二像素值、所述缩放后显示缩放比例、以及可视区域左下顶点在网页中的纵坐标像素值作为参数传递到移动可视区域方法,从而在水平方向上移动网页内容。A7.如A6所述的方法,其中当所述第二像素值小于零时,令所述第二像素值为零。A8.如A1至A3中的任一项所述的方法,其中所述网页显示控件是Android系统的WebView控件,所述事件处理器类是Handler类,所述网页渲染处理器对象是mPrivateHandler对象,所述接收消息方法是handleMessage方法,所述缩放管理器对象是mZoomManager对象,所述缩放中点横坐标像素值方法是mZoomCenterX方法,所述缩放中点纵坐标像素值方法是mZoomCenterY方法,所述获取可视区域横坐标像素值方法是getScrollX方法,所述获取可视区域纵坐标像素值方法是getScrollY方法,所述获取内容的横坐标像素值方法是viewToContentX方法,所述获取内容的纵坐标像素值方法是viewToContentY方法,所述获取显示缩放比例方法是getScale方法,所述获取网页内容左侧边框的像素值方法是getBlockLeftEdge方法或nativeGetBlockLeftEdge方法,所述移动可视区域方法是scrollTo方法或pinScrollTo方法。
本发明的实施例还公开了B9.一种电子设备上网页缩放后对齐的装置,包括:原有网页渲染处理器对象获取模块,适于获取网页显示控件的原有网页渲染处理器对象;定制网页渲染处理器对象构建模块,适于生成继承事件处理器类的对象,将所述原有网页渲染处理器对象传递到其中,以构建定制网页渲染处理器对象,并利用所述定制网页渲染处理器对象替换所述网页显示控件的原有网页渲染处理器对象;网页内容移动模块,适于在网页进行了缩放的情况下,在接收到刷新页面消息后,获取网页内容左侧边框的像素值,并且根据所述网页内容左侧边框的像素值移动网页内容;以及渲染处理模块,适于调用所述原有网页渲染处理器对象执行处理。B10.如B9所述的装置,其中所述原有网页渲染处理器对象获取模块适于从网页显示控件中反射原有网页渲染处理器对象,以获取所述原有网页渲染处理器对象。B11.如B9所述的装置,其中所述网页内容移动模块适于在检测到所述网页显示控件的显示缩放比例发生变化时,确定网页已经进行了缩放。B12.如B9至B11中的任一项所述的装置,其中所述网页内容移动模块适于通过以下方式获取网页内容左侧边框的像素值:从缩放管理器对象中反射缩放中点横坐标像素值方法以及缩放中点纵坐标像素值方法,以获取缩放中点的所在视图的横纵坐标像素值;调用网页显示控件的获取可视区域横坐标像素值方法和获取可视区域纵坐标像素值方法,以获取可视区域左下顶点在网页中的横纵坐标像素值;从网页显示控件中反射获取内容的横坐标像素值方法和获取内容的纵坐标像素值方法,并且将所述缩放中点的所在视图的横纵坐标像素值与所述可视区域左下顶点在网页中的横纵坐标像素值分别相加并作为参数传递到所述获取内容的横坐标像素值方法和所述获取内容的纵坐标像素值方法,以获取缩放中点在网页中的横坐标像素值以及缩放中点在网页中的纵坐标像素值;调用网页显示控件的获取显示缩放比例方法,以获取缩放后显示缩放比例;以及将所述缩放中点在网页中的横坐标像素值、所述缩放中点在网页中的纵坐标像素值、所述缩放后显示缩放比例作为参数传递到获取网页内容左侧边框的像素值方法,以获取网页内容左侧边框的像素值,并且在像素值为正数或零的情况下保存该像素值,而在该像素值为负数的情况下丢弃该像素值,其中所述缩放中点为缩放操作结束时的缩放中点。B13.如B12所述的装置,其中所述网页内容移动模块适于将所保存的网页内容左侧边框的像素值、所述缩放后显示缩放比例、可视区域左下顶点在网页中的纵坐标像素值作为参数传递到移动可视区域方法,从而在水平方向上移动网页内容。B14.如B12所述的装置,其中所述网页内容移动模块适于将所保存的网页内容左侧边框的像素值减去预先定义的像素值以获得网页内容左侧边框的第二像素值,并将所述第二像素值、所述缩放后显示缩放比例、以及可视区域左下顶点在网页中的纵坐标像素值作为参数传递到移动可视区域方法,从而在水平方向上移动网页内容。B15.如B14所述的装置,其中当所述第二像素值小于零时,所述网页内容移动模块令所述第二像素值为零。B16.如B9至B11中的任一项所述的装置,其中所述网页显示控件是Android系统的WebView控件,所述事件处理器类是Handler类,所述网页渲染处理器对象是mPrivateHandler对象,所述接收消息方法是handleMessage方法,所述缩放管理器对象是mZoomManager对象,所述缩放中点横坐标像素值方法是mZoomCenterX方法,所述缩放中点纵坐标像素值方法是mZoomCenterY方法,所述获取可视区域横坐标像素值方法是getScrollX方法,所述获取可视区域纵坐标像素值方法是getScrollY方法,所述获取内容的横坐标像素值方法是viewToContentX方法,所述获取内容的纵坐标像素值方法是viewToContentY方法,所述获取显示缩放比例方法是getScale方法,所述获取网页内容左侧边框的像素值方法是getBlockLeftEdge方法或nativeGetBlockLeftEdge方法,所述移动可视区域方法是scrollTo方法或pinScrollTo方法。

Claims (16)

1.一种电子设备上网页缩放后对齐的方法,包括以下步骤:
获取网页显示控件的原有网页渲染处理器对象;
生成继承事件处理器类的对象,将所述原有网页渲染处理器对象传递到其中,以构建定制网页渲染处理器对象,并利用所述定制网页渲染处理器对象替换所述网页显示控件的原有网页渲染处理器对象;
在网页进行了缩放的情况下,在接收到刷新页面消息后,获取网页内容左侧边框的像素值,并且根据所述网页内容左侧边框的像素值移动网页内容;以及
调用所述原有网页渲染处理器对象执行处理;
其中获取网页内容左侧边框的像素值的步骤,包括:
将缩放中点在网页中的横坐标像素值、缩放中点在网页中的纵坐标像素值、缩放后显示缩放比例作为参数传递到获取网页内容左侧边框的像素值方法,以获取网页内容左侧边框的像素值,其中所述缩放中点为缩放操作结束时的缩放中点。
2.如权利要求1所述的方法,其中在所述获取网页显示控件的原有网页渲染处理器对象的步骤中,从网页显示控件中反射原有网页渲染处理器对象,以获取所述原有网页渲染处理器对象。
3.如权利要求1所述的方法,其中在检测到所述网页显示控件的显示缩放比例发生变化时,确定网页已经进行了缩放。
4.如权利要求1至3中的任一项所述的方法,其中所述缩放中点在网页中的横坐标像素值、缩放中点在网页中的纵坐标像素值采用如下方式获取:
从缩放管理器对象中反射缩放中点横坐标像素值方法以及缩放中点纵坐标像素值方法,以获取缩放中点的所在视图的横纵坐标像素值;
调用网页显示控件的获取可视区域横坐标像素值方法和获取可视区域纵坐标像素值方法,以获取可视区域左下顶点在网页中的横纵坐标像素值;
从网页显示控件中反射获取内容的横坐标像素值方法和获取内容的纵坐标像素值方法,并且将所述缩放中点的所在视图的横纵坐标像素值与所述可视区域左下顶点在网页中的横纵坐标像素值分别相加并作为参数传递到所述获取内容的横坐标像素值方法和所述获取内容的纵坐标像素值方法,以获取缩放中点在网页中的横坐标像素值以及缩放中点在网页中的纵坐标像素值;
其中采用如下方式获取缩放后显示缩放比例,包括:
调用网页显示控件的获取显示缩放比例方法,以获取缩放后显示缩放比例;以及
在网页内容左侧边框的像素值为正数或零的情况下保存该像素值,而在该像素值为负数的情况下丢弃该像素值。
5.如权利要求4所述的方法,其中在所述根据所述网页内容左侧边框的像素值移动网页内容的步骤中,将所保存的网页内容左侧边框的像素值、所述缩放后显示缩放比例、可视区域左下顶点在网页中的纵坐标像素值作为参数传递到移动可视区域方法,从而在水平方向上移动网页内容。
6.如权利要求4所述的方法,其中在所述根据所述网页内容左侧边框的像素值移动网页内容的步骤中,将所保存的网页内容左侧边框的像素值减去预先定义的像素值以获得网页内容左侧边框的第二像素值,并将所述第二像素值、所述缩放后显示缩放比例、以及可视区域左下顶点在网页中的纵坐标像素值作为参数传递到移动可视区域方法,从而在水平方向上移动网页内容。
7.如权利要求6所述的方法,其中当所述第二像素值小于零时,令所述第二像素值为零。
8.如权利要求1至3中的任一项所述的方法,其中所述网页显示控件是Android系统的WebView控件,所述事件处理器类是Handler类,网页渲染处理器对象是mPrivateHandler对象,接收消息方法是handleMessage方法,缩放管理器对象是mZoomManager对象,缩放中点横坐标像素值方法是mZoomCenterX方法,缩放中点纵坐标像素值方法是mZoomCenterY方法,获取可视区域横坐标像素值方法是getScrollX方法,获取可视区域纵坐标像素值方法是getScrollY方法,获取内容的横坐标像素值方法是viewToContentX方法,获取内容的纵坐标像素值方法是viewToContentY方法,获取显示缩放比例方法是getScale方法,所述获取网页内容左侧边框的像素值方法是getBlockLeftEdge方法或nativeGetBlockLeftEdge方法,移动可视区域方法是scrollTo方法或pinScrollTo方法。
9.一种电子设备上网页缩放后对齐的装置,包括:
原有网页渲染处理器对象获取模块,适于获取网页显示控件的原有网页渲染处理器对象;
定制网页渲染处理器对象构建模块,适于生成继承事件处理器类的对象,将所述原有网页渲染处理器对象传递到其中,以构建定制网页渲染处理器对象,并利用所述定制网页渲染处理器对象替换所述网页显示控件的原有网页渲染处理器对象;
网页内容移动模块,适于在网页进行了缩放的情况下,在接收到刷新页面消息后,获取网页内容左侧边框的像素值,并且根据所述网页内容左侧边框的像素值移动网页内容;以及
渲染处理模块,适于调用所述原有网页渲染处理器对象执行处理;
其中所述网页内容移动模块适于通过以下方式获取网页内容左侧边框的像素值:
将缩放中点在网页中的横坐标像素值、缩放中点在网页中的纵坐标像素值、缩放后显示缩放比例作为参数传递到获取网页内容左侧边框的像素值方法,以获取网页内容左侧边框的像素值,其中所述缩放中点为缩放操作结束时的缩放中点。
10.如权利要求9所述的装置,其中所述原有网页渲染处理器对象获取模块适于从网页显示控件中反射原有网页渲染处理器对象,以获取所述原有网页渲染处理器对象。
11.如权利要求9所述的装置,其中所述网页内容移动模块适于在检测到所述网页显示控件的显示缩放比例发生变化时,确定网页已经进行了缩放。
12.如权利要求9至11中的任一项所述的装置,其中所述网页内容移动模块适于通过以下方式获取缩放中点在网页中的横坐标像素值、缩放中点在网页中的纵坐标像素值:
从缩放管理器对象中反射缩放中点横坐标像素值方法以及缩放中点纵坐标像素值方法,以获取缩放中点的所在视图的横纵坐标像素值;
调用网页显示控件的获取可视区域横坐标像素值方法和获取可视区域纵坐标像素值方法,以获取可视区域左下顶点在网页中的横纵坐标像素值;
从网页显示控件中反射获取内容的横坐标像素值方法和获取内容的纵坐标像素值方法,并且将所述缩放中点的所在视图的横纵坐标像素值与所述可视区域左下顶点在网页中的横纵坐标像素值分别相加并作为参数传递到所述获取内容的横坐标像素值方法和所述获取内容的纵坐标像素值方法,以获取缩放中点在网页中的横坐标像素值以及缩放中点在网页中的纵坐标像素值;
其中所述网页内容移动模块适于通过以下方式获取缩放后显示缩放比例:
调用网页显示控件的获取显示缩放比例方法,以获取缩放后显示缩放比例;以及
在网页内容左侧边框的像素值为正数或零的情况下保存该像素值,而在该像素值为负数的情况下丢弃该像素值。
13.如权利要求12所述的装置,其中所述网页内容移动模块适于将所保存的网页内容左侧边框的像素值、所述缩放后显示缩放比例、可视区域左下顶点在网页中的纵坐标像素值作为参数传递到移动可视区域方法,从而在水平方向上移动网页内容。
14.如权利要求12所述的装置,其中所述网页内容移动模块适于将所保存的网页内容左侧边框的像素值减去预先定义的像素值以获得网页内容左侧边框的第二像素值,并将所述第二像素值、所述缩放后显示缩放比例、以及可视区域左下顶点在网页中的纵坐标像素值作为参数传递到移动可视区域方法,从而在水平方向上移动网页内容。
15.如权利要求14所述的装置,其中当所述第二像素值小于零时,所述网页内容移动模块令所述第二像素值为零。
16.如权利要求9至11中的任一项所述的装置,其中所述网页显示控件是Android系统的WebView控件,所述事件处理器类是Handler类,网页渲染处理器对象是mPrivateHandler对象,接收消息方法是handleMessage方法,缩放管理器对象是mZoomManager对象,缩放中点横坐标像素值方法是mZoomCenterX方法,缩放中点纵坐标像素值方法是mZoomCenterY方法,获取可视区域横坐标像素值方法是getScrollX方法,获取可视区域纵坐标像素值方法是getScrollY方法,获取内容的横坐标像素值方法是viewToContentX方法,获取内容的纵坐标像素值方法是viewToContentY方法,获取显示缩放比例方法是getScale方法,所述获取网页内容左侧边框的像素值方法是getBlockLeftEdge方法或nativeGetBlockLeftEdge方法,移动可视区域方法是scrollTo方法或pinScrollTo方法。
CN201310269018.7A 2013-06-28 2013-06-28 一种电子设备上网页缩放后对齐的方法和装置 Expired - Fee Related CN103336818B (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN201310269018.7A CN103336818B (zh) 2013-06-28 2013-06-28 一种电子设备上网页缩放后对齐的方法和装置
US14/901,512 US10061494B2 (en) 2013-06-28 2014-03-31 Method and device for webpage zooming on electronic apparatus
PCT/CN2014/074454 WO2014206124A1 (zh) 2013-06-28 2014-03-31 一种电子设备上网页缩放的方法和装置
PCT/CN2014/074455 WO2014206125A1 (zh) 2013-06-28 2014-03-31 一种电子设备上网页缩放后对齐的方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310269018.7A CN103336818B (zh) 2013-06-28 2013-06-28 一种电子设备上网页缩放后对齐的方法和装置

Publications (2)

Publication Number Publication Date
CN103336818A CN103336818A (zh) 2013-10-02
CN103336818B true CN103336818B (zh) 2017-05-17

Family

ID=49244983

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310269018.7A Expired - Fee Related CN103336818B (zh) 2013-06-28 2013-06-28 一种电子设备上网页缩放后对齐的方法和装置

Country Status (1)

Country Link
CN (1) CN103336818B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10061494B2 (en) 2013-06-28 2018-08-28 Beijing Qihoo Technology Company Limited Method and device for webpage zooming on electronic apparatus
CN106897039B (zh) * 2014-03-20 2020-06-23 海信视像科技股份有限公司 一种图片显示方法及装置
CN105867723A (zh) * 2015-12-30 2016-08-17 乐视网信息技术(北京)股份有限公司 一种显示界面调整方法及装置
CN109597548B (zh) * 2018-11-16 2020-05-12 北京字节跳动网络技术有限公司 菜单显示方法、装置、设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101004680A (zh) * 2006-11-23 2007-07-25 福建顶点软件股份有限公司 一种以直接业务对象模型定义为核心的灵活快捷的软件开发方法及支持系统
CN101216845A (zh) * 2008-01-03 2008-07-09 彭智勇 数据库自动分类方法
CN102436343A (zh) * 2010-10-19 2012-05-02 微软公司 基于触摸输入来对齐用户界面元素

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101004680A (zh) * 2006-11-23 2007-07-25 福建顶点软件股份有限公司 一种以直接业务对象模型定义为核心的灵活快捷的软件开发方法及支持系统
CN101216845A (zh) * 2008-01-03 2008-07-09 彭智勇 数据库自动分类方法
CN102436343A (zh) * 2010-10-19 2012-05-02 微软公司 基于触摸输入来对齐用户界面元素

Also Published As

Publication number Publication date
CN103336818A (zh) 2013-10-02

Similar Documents

Publication Publication Date Title
CN103324734B (zh) 一种电子设备上网页缩放的方法和装置
CN105354013B (zh) 应用界面渲染方法及装置
CN103336818B (zh) 一种电子设备上网页缩放后对齐的方法和装置
CN106502659B (zh) 一种移动设备网页单页面的布局方法及系统
US8531487B2 (en) Software for displays with different pixel densities
KR20060088010A (ko) 다른 해상도를 갖는 디스플레이 상에 타겟 디지털 장치의디스플레이 시뮬레이션을 렌더링하는 방법, 시스템 및 매체
KR100829564B1 (ko) 효율적으로 모션 블러 효과를 제공하는 3차원 그래픽스렌더링 방법 및 장치
US10061494B2 (en) Method and device for webpage zooming on electronic apparatus
US8972901B2 (en) Fast cursor location
KR20190047142A (ko) Ui 제어의 배경을 설정하는 방법 및 장치, 및 단말
CN110502205A (zh) 图片显示边缘处理方法、装置、电子设备和可读存储介质
CN102880391B (zh) 改变浏览器窗口显示的内容的显示控制设备及方法
CN107291340B (zh) 实现界面效果的方法、计算设备及存储介质
CN109857964B (zh) 一种页面操作的热力图绘制方法、装置、存储介质及处理器
CN103324738B (zh) 一种电子设备上网页缩放后对齐的方法和装置
CN114527980A (zh) 一种显示渲染方法、装置、电子设备和可读存储介质
CN104573110B (zh) 一种浏览器中图形的动态展示方法及装置
CN103324741B (zh) 一种电子设备上网页缩放和对齐的方法和装置
CN107943805A (zh) 一种动画渲染及发布方法、装置
CN103324743B (zh) 一种电子设备上网页缩放和对齐的方法和装置
CN109766530B (zh) 图表边框的生成方法、装置、存储介质和电子设备
CN105468344A (zh) 一种浮动层设置方法、装置及电子设备
CN109582269B (zh) 物理拼接屏显示方法、装置及终端设备
CN104516696A (zh) 一种信息处理方法及电子设备
CN108021366B (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
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20170517