发明内容
鉴于上述问题,提出了本发明,以便提供一种克服上述问题或者至少部分地解决上述问题的电子设备上网页缩放后对齐的方法和装置。
依据本发明的一个方面,提供了一种电子设备上网页缩放后对齐的方法,包括以下步骤:获取缩放中点在网页中的横坐标像素的坐标值和在网页中的纵坐标像素的坐标值、以及显示缩放比例;基于所述缩放中点在网页中的横坐标像素的坐标值和在网页中的纵坐标像素的坐标值、以及显示缩放比例,获取网页内容左侧边框的像素的坐标值;以及根据该网页内容左侧边框的像素的坐标值移动网页内容。
可选地,在根据本发明的实施例的电子设备上网页缩放后对齐的方法中,其中所述缩放中点在网页中的横坐标像素的坐标值和在网页中的纵坐标像素的坐标值分别是网页缩放操作结束时缩放中点在网页中的横坐标像素的坐标值和在网页中的纵坐标像素的坐标值,所述显示缩放比例是缩放后显示缩放比例,在所述基于所述缩放中点在网页中的横坐标像素的坐标值和在网页中的纵坐标像素的坐标值以及显示缩放比例获取网页内容左侧边框的像素的坐标值的步骤中,基于网页缩放操作结束时缩放中点在网页中的横坐标像素的坐标值和在网页中的纵坐标像素的坐标值以及缩放后显示缩放比例,获取网页内容左侧边框的第一像素的坐标值,其中在所述根据该网页内容左侧边框的像素的坐标值移动网页内容的步骤中,在所述网页内容左侧边框的第一像素的坐标值为正数或零的情况下,根据该第一像素的坐标值移动网页内容,所述方法还包括步骤:在所述第一像素的坐标值为正数或零的情况下,将该第一像素的坐标值记录为该网页的网页内容左侧边框的参考像素的坐标值;在所述第一像素的坐标值为负数的情况下,基于缩放操作开始时缩放中点的横坐标像素的坐标值和纵坐标像素的坐标值以及缩放前显示缩放比例,获取网页内容左侧边框的第二像素的坐标值;以及在所述网页内容左侧边框的第二像素的坐标值为正数或零的情况下,根据所述第二像素的坐标值移动网页内容,并将该第二像素的坐标值记录为该网页的网页内容左侧边框的参考像素的坐标值。
可选地,在根据本发明的实施例的电子设备上网页缩放后对齐的方法中,所述网页的网页内容左侧边框的参考像素的坐标值的默认值为一负的预定值,在所述获取网页缩放操作结束时缩放中点在网页中的横坐标像素的坐标值和在网页中的纵坐标像素的坐标值、以及缩放后显示缩放比例的步骤之前还包括:获取该网页的网页内容左侧边框的参考像素的坐标值;判断所述参考像素的坐标值是否为正数或零,如果其为正数或零,则该参考像素的坐标值不变;如果所述参考像素的坐标值为负数,则基于缩放操作开始时缩放中点的横坐标像素的坐标值和纵坐标像素的坐标值以及缩放前显示缩放比例,获取网页内容左侧边框的像素的坐标值,并且在该获取的像素的坐标值为正数或零的情况下将其作为网页内容左侧边框的参考像素的坐标值。
可选地,在根据本发明的实施例的电子设备上网页缩放后对齐的方法中,当所述第二像素的坐标值为负数时,根据所述参考像素的坐标值移动网页内容。
可选地,在根据本发明的实施例的电子设备上网页缩放后对齐的方法中,获取缩放中点在网页中的横坐标像素的坐标值和在网页中的纵坐标像素的坐标值、以及显示缩放比例的步骤包括:从缩放管理器对象中反射缩放中点横坐标像素的坐标值方法以及缩放中点纵坐标像素的坐标值方法,以获取缩放中点的所在视图的横纵坐标像素的坐标值;调用网页显示控件的获取可视区域横坐标像素的坐标值方法和获取可视区域纵坐标像素的坐标值方法,以获取可视区域左下顶点在网页中的横纵坐标像素的坐标值;从网页显示控件中反射获取内容的横坐标像素的坐标值方法和获取内容的纵坐标像素的坐标值方法,并且将所述缩放中点的所在视图的横纵坐标像素的坐标值与所述可视区域左下顶点在网页中的横纵坐标像素的坐标值分别相加并作为参数传递到所述获取内容的横坐标像素的坐标值方法和所述获取内容的纵坐标像素的坐标值方法,以获取缩放中点在网页中的横坐标像素的坐标值以及缩放中点在网页中的纵坐标像素的坐标值;调用网页显示控件的获取显示缩放比例方法,以获取显示缩放比例。
可选地,在根据本发明的实施例的电子设备上网页缩放后对齐的方法中,基于缩放中点在网页中的横坐标像素的坐标值和在网页中的纵坐标像素的坐标值以及显示缩放比例获取网页内容左侧边框的像素的坐标值的步骤包括:将所述缩放中点在网页中的横坐标像素的坐标值、所述缩放中点在网页中的纵坐标像素的坐标值、所述显示缩放比例作为参数传递到获取网页内容左侧边框的像素的坐标值方法,以获取网页内容左侧边框的像素的坐标值。
可选地,在根据本发明的实施例的电子设备上网页缩放后对齐的方法中,在所述根据所述网页内容左侧边框的像素的坐标值移动网页内容的步骤中,将所述网页内容左侧边框的像素的坐标值、所述显示缩放比例、可视区域左下顶点在网页中的纵坐标像素的坐标值作为参数传递到移动可视区域方法,从而在水平方向上移动网页内容。
可选地,在根据本发明的实施例的电子设备上网页缩放后对齐的方法中,所述网页显示控件是Android系统的WebView控件,所述缩放管理器对象是mZoomManager对象,所述缩放中点横坐标像素的坐标值方法是mZoomCenterX方法,所述缩放中点纵坐标像素的坐标值方法是mZoomCenterY方法,所述获取可视区域横坐标像素的坐标值方法是getScrollX方法,所述获取可视区域纵坐标像素的坐标值方法是getScrollY方法,所述获取内容的横坐标像素的坐标值方法是viewToContentX方法,所述获取内容的纵坐标像素的坐标值方法是viewToContentY方法,所述获取显示缩放比例方法是getScale方法,所述获取网页内容左侧边框的像素的坐标值方法是getBlockLeftEdge方法或nativeGetBlockLeftEdge方法,所述移动可视区域方法是scrollTo方法或pinScrollTo方法。
依据本发明的另一个方面,还提供了一种电子设备上网页缩放后对齐的装置,包括:缩放中点坐标及显示缩放比例获取模块,适于获取缩放中点在网页中的横坐标像素的坐标值和在网页中的纵坐标像素的坐标值、以及显示缩放比例;像素的坐标值获取模块,适于基于所述缩放中点在网页中的横坐标像素的坐标值和在网页中的纵坐标像素的坐标值、以及显示缩放比例,获取网页内容左侧边框的像素的坐标值;以及网页内容移动模块,适于根据该网页内容左侧边框的像素的坐标值移动网页内容。
可选地,在根据本发明的实施例的电子设备上网页缩放后对齐的装置中,所述缩放中点在网页中的横坐标像素的坐标值和在网页中的纵坐标像素的坐标值分别是网页缩放操作结束时缩放中点在网页中的横坐标像素的坐标值和在网页中的纵坐标像素的坐标值,所述显示缩放比例是缩放后显示缩放比例,其中所述像素的坐标值获取模块基于网页缩放操作结束时缩放中点在网页中的横坐标像素的坐标值和在网页中的纵坐标像素的坐标值以及缩放后显示缩放比例,获取网页内容左侧边框的第一像素的坐标值,其中在所述网页内容左侧边框的第一像素的坐标值为正数或零的情况下,所述网页内容移动模块根据该第一像素的坐标值移动网页内容,并将该第一像素的坐标值记录为该网页的网页内容左侧边框的参考像素的坐标值,所述像素的坐标值获取模块,还适于在所述第一像素的坐标值为负数的情况下,基于缩放操作开始时缩放中点的横坐标像素的坐标值和纵坐标像素的坐标值以及缩放前显示缩放比例,获取网页内容左侧边框的第二像素的坐标值,其中在所述网页内容左侧边框的第二像素的坐标值为正数或零的情况下,所述网页内容移动模块根据所述第二像素的坐标值移动网页内容,并将该第二像素的坐标值记录为该网页的网页内容左侧边框的参考像素的坐标值。
可选地,在根据本发明的实施例的电子设备上网页缩放后对齐的装置中,所述网页的网页内容左侧边框的参考像素的坐标值的默认值为一负的预定值,所述像素的坐标值获取模块,还适于在所述缩放中点坐标及显示缩放比例获取模块获取网页缩放操作结束时缩放中点在网页中的横坐标像素的坐标值和在网页中的纵坐标像素的坐标值、以及缩放后显示缩放比例之前:获取该网页的网页内容左侧边框的参考像素的坐标值;判断所述参考像素的坐标值是否为正数或零,如果其为正数或零,则使该参考像素的坐标值不变;如果所述参考像素的坐标值为负数,则基于缩放操作开始时缩放中点的横坐标像素的坐标值和纵坐标像素的坐标值以及缩放前显示缩放比例,获取网页内容左侧边框的像素的坐标值,并且在该获取的像素的坐标值为正数或零的情况下将其作为网页内容左侧边框的参考像素的坐标值。
可选地,在根据本发明的实施例的电子设备上网页缩放后对齐的装置中,当所述第二像素的坐标值为负数时,所述网页内容移动模块根据所述参考像素的坐标值移动网页内容。
可选地,在根据本发明的实施例的电子设备上网页缩放后对齐的装置中,所述缩放中点坐标及显示缩放比例获取模块适于:从缩放管理器对象中反射缩放中点横坐标像素的坐标值方法以及缩放中点纵坐标像素的坐标值方法,以获取缩放中点的所在视图的横纵坐标像素的坐标值;调用网页显示控件的获取可视区域横坐标像素的坐标值方法和获取可视区域纵坐标像素的坐标值方法,以获取可视区域左下顶点在网页中的横纵坐标像素的坐标值;从网页显示控件中反射获取内容的横坐标像素的坐标值方法和获取内容的纵坐标像素的坐标值方法,并且将所述缩放中点的所在视图的横纵坐标像素的坐标值与所述可视区域左下顶点在网页中的横纵坐标像素的坐标值分别相加并作为参数传递到所述获取内容的横坐标像素的坐标值方法和所述获取内容的纵坐标像素的坐标值方法,以获取缩放中点在网页中的横坐标像素的坐标值以及缩放中点在网页中的纵坐标像素的坐标值;调用网页显示控件的获取显示缩放比例方法,以获取显示缩放比例。
可选地,在根据本发明的实施例的电子设备上网页缩放后对齐的装置中,所述像素的坐标值获取模块适于将所述缩放中点在网页中的横坐标像素的坐标值、所述缩放中点在网页中的纵坐标像素的坐标值、所述显示缩放比例作为参数传递到获取网页内容左侧边框的像素的坐标值方法,以获取网页内容左侧边框的像素的坐标值。
可选地,在根据本发明的实施例的电子设备上网页缩放后对齐的装置中,网页内容移动模块适于将所述网页内容左侧边框的像素的坐标值、所述显示缩放比例、可视区域左下顶点在网页中的纵坐标像素的坐标值作为参数传递到移动可视区域方法,从而在水平方向上移动网页内容。
可选地,在根据本发明的实施例的电子设备上网页缩放后对齐的装置中,所述网页显示控件是Android系统的WebView控件,所述缩放管理器对象是mZoomManager对象,所述缩放中点横坐标像素的坐标值方法是mZoomCenterX方法,所述缩放中点纵坐标像素的坐标值方法是mZoomCenterY方法,所述获取可视区域横坐标像素的坐标值方法是getScrollX方法,所述获取可视区域纵坐标像素的坐标值方法是getScrollY方法,所述获取内容的横坐标像素的坐标值方法是viewToContentX方法,所述获取内容的纵坐标像素的坐标值方法是viewToContentY方法,所述获取显示缩放比例方法是getScale方法,所述获取网页内容左侧边框的像素的坐标值方法是getBlockLeftEdge方法或nativeGetBlockLeftEdge方法,所述移动可视区域方法是scrollTo方法或pinScrollTo方法。
本发明提供了一种电子设备上网页缩放后对齐的方法和装置。根据本发明的实施例,可以基于缩放操作结束时缩放中点在网页中的横纵坐标像素的坐标值以及缩放后显示缩放比例,获取网页内容左侧边框的第一像素的坐标值,并且在第一像素的坐标值大于或等于零的情况下根据其移动网页内容,而在第一像素的坐标值小于零的情况下,基于缩放操作开始时缩放中点的横纵坐标像素的坐标值以及缩放前显示缩放比例,获取网页内容左侧边框的第二像素的坐标值,并且在第二像素的坐标值大于等于零的情况下,根据第二像素的坐标值移动网页内容。由此,可以在网页缩放之后,自动移动网页内容,使得网页内容的左侧边框与电子设备屏幕的左侧边框对齐,使得网页内容铺满屏幕,从而充分利用屏幕上的显示空间,达到理想的显示效果。根据本发明,无需人工干预,即可实现网页缩放后自动对齐,避免了手动调整不够精确、无法达到理想的显示效果的问题。而且,本发明的实施例通过利用网页内容左侧边框的第一像素的坐标值、第二像素的坐标值、以及参考像素的坐标值的操作,可以最大程度地克服对于某些操作系统网页内容左侧边框的像素的坐标值小于零、找不到网页内容对应区域的问题,从而实现了对于几乎所有操作系统的支持。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
图2示意性地示出了根据本发明的实施例的电子设备上网页缩放后对齐的方法的流程图。
本发明的原理适用于任何包含显示部件的电子设备,包括、但不限于:基于Windows、Linux、Mac OS、Unix等桌面操作系统的计算机;基于iOS、Android、Windows Phone、Symbian等移动操作系统的移动电话、平板电脑、视频播放器、电子阅读器、数码相框等等。在下文中,将以基于Android系统的电子设备为例,对本发明的原理进行示例性地描述。然而,这只是为了以具体的示例描述本发明,以帮助读者理解本发明的原理,本发明的范围不限于此,而是可以适用于任何包含显示部件、基于任何操作系统的电子设备。
在下面的描述中,“缩放”均指“缩小或放大”。
如图2所示,根据本发明的实施例的电子设备上网页缩放后对齐的方法200始于步骤S202,在步骤S202中,获取缩放中点在网页中的横坐标像素的坐标值和在网页中的纵坐标像素的坐标值、以及显示缩放比例。
根据本发明的实施例,可选地,所述缩放中点在网页中的横坐标像素的坐标值和在网页中的纵坐标像素的坐标值分别可以是网页缩放操作结束时缩放中点在网页中的横坐标像素的坐标值和在网页中的纵坐标像素的坐标值,所述显示缩放比例可以是缩放后显示缩放比例。从而,可选地,在步骤S202中,可以获取网页缩放操作结束时缩放中点在网页中的横坐标像素的坐标值和在网页中的纵坐标像素的坐标值、以及缩放后显示缩放比例。
图3示意性地图示了根据本发明的实施例的包含可选步骤和子步骤的电子设备上网页缩放后对齐的方法200的流程图。
如图3所示,根据本发明的实施例,步骤S202可以包括子步骤S202a、S202b、S202c、以及S202d。
首先,在子步骤S202a中,从缩放管理器对象中反射缩放中点横坐标像素的坐标值方法以及缩放中点纵坐标像素的坐标值方法,以获取缩放中点的所在视图的横纵坐标像素的坐标值。根据本发明的实施例,对于Android系统,所述缩放管理器对象可以是mZoomManager对象,该对象可以直接或间接地被WebView控件调用,这样就可以将缩放操作从原本就很复杂的WebView控件中抽离出来,成为较为独立的模块,并被WebView控件(甚至其它的控件)所用。其中,在Android 2.3.x或更早版本中,这个Java类就是WebView控件类,即WebView类;而在Android3.0及以后的版本,该对象为WebView控件所直接使用的一个Java类的对象,即ZoomManager类的对象。而对于Android系统,所述缩放中点横坐标像素的坐标值方法可以是mZoomCenterX方法,所述缩放中点纵坐标像素的坐标值方法可以是mZoomCenterY方法。
根据本发明的实施例,对于反射操作,可以采用Java语言、.Net语言等提供的反射机制来进行操作,将方法或对象从私有属性临时变为公有属性,以供直接使用和修改。本领域技术人员能够理解,同样可以采用其它的程序设计语言,以相似的方式将方法或对象从私有属性临时变为公有属性,以达到反射操作的目的。
图4示意性地示出了根据本发明的实施例的缩放中点在网页和可视区域中的相对位置的视图。在子步骤S202a中,获取缩放中点的所在视图的横纵坐标像素的坐标值,如图4所示,所获取的是缩放中点相对于显示区域左下角顶点O1的横纵坐标像素的坐标值(x1,y1)。
图5示意性地示出了根据本发明的实施例的缩放操作开始时和缩放操作结束时的缩放中点的视图。如图5所示,缩放操作开始时缩放中点所在位置的坐标为(x0,y0),而缩放操作结束时缩放中点所在位置的坐标为(x1,y1)。在步骤S202中,可选地,缩放中点可以是缩放操作结束时的缩放中点,即图5中的(x1,y1)。
如图3所示,在子步骤S202a之后,执行子步骤S202b,其中,调用网页显示控件的获取可视区域横坐标像素的坐标值方法和获取可视区域纵坐标像素的坐标值方法,以获取可视区域左下顶点在网页中的横纵坐标像素的坐标值。
根据本发明的实施例,所述网页显示控件例如可以是Android系统的WebView控件,本发明的范围不限于此,网页显示控件可以是任何能够实现网页显示功能的控件,例如iOS系统的UIWebView控件等。
根据本发明的实施例,所述获取可视区域横坐标像素的坐标值方法可以是getScrollX方法,所述获取可视区域纵坐标像素的坐标值方法可以是getScrollY方法。如图4所示,在子步骤S202b中要获取的是可视区域左下顶点O1相对于网页左下顶点O2的横纵坐标像素的坐标值(x2,y2)。
之后,执行子步骤S202c,其中,从网页显示控件中反射获取内容的横坐标像素的坐标值方法和获取内容的纵坐标像素的坐标值方法,并且将所述缩放中点的所在视图的横纵坐标像素的坐标值与所述可视区域左下顶点在网页中的横纵坐标像素的坐标值分别相加并作为参数传递到所述获取内容的横坐标像素的坐标值方法和所述获取内容的纵坐标像素的坐标值方法,以获取缩放中点在网页中的横坐标像素的坐标值以及缩放中点在网页中的纵坐标像素的坐标值。上述可视区域为缩放操作之前电子设备屏幕上的可视区域。
根据本发明的实施例,对于Android系统,所述获取内容的横坐标像素的坐标值方法可以是viewToContentX方法,所述获取内容的纵坐标像素的坐标值方法可以是viewToContentY方法。在子步骤S202c中,将所述缩放中点的所在视图的横纵坐标像素的坐标值与所述可视区域左下顶点在网页中的横纵坐标像素的坐标值分别相加,可以得到横纵坐标像素的坐标值(x1+x2,y1+y2),即,缩放中点相对于网页左下顶点O2的横纵坐标像素的坐标值,也就是缩放中点在网页中的横坐标像素的坐标值以及缩放中点在网页中的纵坐标像素的坐标值。将(x1+x2,y1+y2)作为参数传递到所述获取内容的横坐标像素的坐标值方法和所述获取内容的纵坐标像素的坐标值方法的目的是去除一些边框、滚动条等像素,从而得到更准确的位置表示。
然后,执行子步骤S202d,其中,调用网页显示控件的获取显示缩放比例方法,以获取显示缩放比例。对于Android系统,所述获取显示缩放比例方法是getScale方法。在子步骤S202d中,可选地,所要获取的显示缩放比例可以是缩放结束后的显示缩放比例。
如图2所示,在步骤S202之后,执行步骤S204,其中,基于所述缩放中点在网页中的横坐标像素的坐标值和在网页中的纵坐标像素的坐标值、以及显示缩放比例,获取网页内容左侧边框的像素的坐标值。根据本发明的实施例,可选地,所述缩放中点在网页中的横坐标像素的坐标值和在网页中的纵坐标像素的坐标值可以分别是网页缩放操作结束时缩放中点在网页中的横坐标像素的坐标值和在网页中的纵坐标像素的坐标值,所述显示缩放比例可以是缩放后显示缩放比例。可选地,可以基于网页缩放操作结束时缩放中点在网页中的横坐标像素的坐标值和在网页中的纵坐标像素的坐标值以及缩放后显示缩放比例,获取网页内容左侧边框的第一像素的坐标值。
根据本发明的实施例,可以将所述缩放中点在网页中的横坐标像素的坐标值、所述缩放中点在网页中的纵坐标像素的坐标值、所述显示缩放比例作为参数传递到获取网页内容左侧边框的像素的坐标值方法,以获取网页内容左侧边框的像素的坐标值。从而,可选地,可以将所述缩放操作结束时缩放中点在网页中的横坐标像素的坐标值、所述缩放中点在网页中的纵坐标像素的坐标值、所述缩放后显示缩放比例作为参数传递到获取网页内容左侧边框的像素的坐标值方法,以获取网页内容左侧边框的第一像素的坐标值。
根据本发明的实施例,对于Android系统,所述获取网页内容左侧边框的像素的坐标值方法是getBlockLeftEdge方法或nativeGetBlockLeftEdge方法。对于Android 4.1.x版本及之后的版本,可以使用getBlockLeftEdge方法,而对于Android 4.1.x之前的版本,可以使用nativeGetBlockLeftEdge方法。对于Android系统,可以通过获取Build.VERSION.SDK_INT对象来得到Android系统的版本号。
如图2所示,根据本发明的实施例,在步骤S204之后,执行步骤S206,其中,根据该网页内容左侧边框的像素的坐标值移动网页内容。根据本发明的实施例,可以将所述网页内容左侧边框的像素的坐标值(例如,上述第一像素的坐标值)、所述显示缩放比例(例如,缩放后显示缩放比例)、可视区域左下顶点在网页中的纵坐标像素的坐标值(即,上述y2)作为参数传递到移动可视区域方法,从而在水平方向上移动网页内容。即,仅在水平方向上调整可视区域的位置,而在垂直方向上不变。对于Android系统,所述移动可视区域方法是scrollTo方法或pinScrollTo方法。
根据本发明的实施例,所述网页内容左侧边框的像素的坐标值除了可以是所述第一像素的坐标值,还可以包括网页内容左侧边框的参考像素的坐标值和第二像素的坐标值。如图3所示,所述步骤S204可以包括步骤S301d、步骤S302、步骤S305,即,获取网页内容左侧边框的参考像素的坐标值、第一像素的坐标值、第二像素的坐标值。而上述步骤S206中的根据网页内容左侧边框的像素的坐标值移动网页内容的步骤可以包括步骤S303、步骤S306、或步骤S307,即根据网页内容左侧边框的第一像素的坐标值、第二像素的坐标值、或参考像素的坐标值移动网页内容。下面结合图3详细描述根据本发明的实施例的上述步骤以及其它可选步骤。如图3所示,该方法除了上述S301d、S302、S305、S303、S306、S307之外,还可以包括可选步骤S301a、S301b、S301c、S304。
如图3所示,可选地,根据本发明的实施例,该方法包括步骤S301,在步骤S301中的第一子步骤S301a中,可以获取该网页的网页内容左侧边框的参考像素的坐标值;接着,在子步骤S301b中,判断所述参考像素的坐标值是否为正数或零。如果其为正数或零,则执行子步骤S301c,该参考像素的坐标值不变。即,如果所述参考像素的坐标值为正数或零,则表明已经成功获取了网页内容左侧边框的参考像素的坐标值。根据本发明的实施例,所述网页的网页内容左侧边框的参考像素的坐标值的默认值为一负的预定值,例如“-1”,若所获取的参考像素的坐标值为负数,则表明没有成功地获取网页内容左侧边框的像素的坐标值。
如果所述参考像素的坐标值为负数,则执行子步骤S301d,其中,基于缩放操作开始时缩放中点的横坐标像素的坐标值和纵坐标像素的坐标值(例如,如图5所示的(x0,y0))以及缩放前显示缩放比例,获取网页内容左侧边框的像素的坐标值,并且在该获取的像素的坐标值为正数或零的情况下将其作为网页内容左侧边框的参考像素的坐标值。根据本发明的实施例,可以利用上面描述的步骤S202中各子步骤的操作来获取缩放操作开始时缩放中点的横坐标像素的坐标值和纵坐标像素的坐标值以及缩放前显示缩放比例,并且利用上面描述的步骤S204中的操作来获取网页内容左侧边框的参考像素的坐标值。即,在子步骤S301d中,可以将缩放操作开始时缩放中点的横坐标像素的坐标值和纵坐标像素的坐标值以及缩放前显示缩放比例作为参数传递到获取网页内容左侧边框的像素的坐标值方法,以获取网页内容左侧边框的像素的坐标值。根据本发明的实施例,对于Android系统,根据本发明的实施例,对于Android系统,所述获取网页内容左侧边框的像素的坐标值方法可以是如上所述的getBlockLeftEdge方法或nativeGetBlockLeftEdge方法。
如图3所示,根据本发明的实施例,在步骤S202之后,执行步骤S302,其中,在所述缩放中点在网页中的横纵坐标像素的坐标值分别是网页缩放操作结束时缩放中点在网页中的横纵坐标像素的坐标值、并且所述显示缩放比例是缩放后显示缩放比例的情况下,获取网页内容左侧边框的第一像素的坐标值。根据本发明的实施例,可以利用上面描述的步骤S202中各子步骤的操作来获取缩放操作结束时缩放中点的横坐标像素的坐标值和纵坐标像素的坐标值以及缩放后显示缩放比例,并且利用上面描述的步骤S204中的操作来获取网页内容左侧边框的第一像素的坐标值。
如图3所示,可选地,根据本发明的实施例,在步骤S302之后,可以执行步骤S303和S304、或者步骤S305和S306(或S307)。在所述网页内容左侧边框的第一像素的坐标值为正数或零的情况下,可以执行步骤S303,其中,根据该第一像素的坐标值移动网页内容。然后,在步骤S304中,将该第一像素的坐标值记录为该网页的网页内容左侧边框的参考像素的坐标值。根据本发明的实施例,在步骤S303中,可以将所述网页内容左侧边框的第一像素的坐标值、所述缩放后显示缩放比例、可视区域左下顶点在网页中的纵坐标像素的坐标值(即,上述y2)作为参数传递到移动可视区域方法,从而在水平方向上移动网页内容。即,仅在水平方向上调整可视区域的位置,而在垂直方向上不变。对于Android系统,所述移动可视区域方法是scrollTo方法或pinScrollTo方法。
而在所述第一像素的坐标值为负数的情况下,执行步骤S305,其中,基于缩放操作开始时缩放中点的横坐标像素的坐标值和纵坐标像素的坐标值(例如,如图5所示的(x0,y0))以及缩放前显示缩放比例,获取网页内容左侧边框的第二像素的坐标值。根据本发明的实施例,可以利用上面描述的步骤S202中各子步骤的操作来获取缩放操作开始时缩放中点的横坐标像素的坐标值和纵坐标像素的坐标值以及缩放前显示缩放比例,并且利用上面描述的步骤S204中的操作来获取网页内容左侧边框的第二像素的坐标值。
然后,在所述网页内容左侧边框的第二像素的坐标值为正数或零的情况下,执行步骤S306,其中,根据所述第二像素的坐标值移动网页内容,并将该第二像素的坐标值记录为该网页的网页内容左侧边框的参考像素的坐标值。根据本发明的实施例,在上述步骤S305中,可以将所述缩放操作开始时缩放中点的横坐标像素的坐标值和纵坐标像素的坐标值以及缩放前显示缩放比例传递到获取网页内容左侧边框的像素的坐标值方法,以获取网页内容左侧边框的第二像素的坐标值。对于Android系统,所述获取网页内容左侧边框的像素的坐标值方法可以是如上所述的getBlockLeftEdge方法或nativeGetBlockLeftEdge方法。而在上述步骤S306中,可以将所述第二像素的坐标值、缩放后显示缩放比例、可视区域左下顶点在网页中的纵坐标像素的坐标值(即,上述y2)作为参数传递到移动可视区域方法,从而在水平方向上移动网页内容。即,仅在水平方向上调整可视区域的位置,而在垂直方向上不变。对于Android系统,所述移动可视区域方法可以是如上所述的scrollTo方法或pinScrollTo方法。
而当所述第二像素的坐标值为负数时,执行步骤S307,其中,可以根据所述参考像素的坐标值移动网页内容。其中,可以将所述参考像素的坐标值、缩放后显示缩放比例、可视区域左下顶点在网页中的纵坐标像素的坐标值(即,上述y2)作为参数传递到移动可视区域方法,从而在水平方向上移动网页内容。同样,仅在水平方向上调整可视区域的位置,而在垂直方向上不变,所述移动可视区域方法可以是如上所述的scrollTo方法或pinScrollTo方法。
根据本发明的实施例,在执行可选的步骤S301的情况下,可以从中获得网页内容左侧边框的参考像素的坐标值。随后,在网页内容左侧边框的第一像素的坐标值为正数或零的情况下,在步骤S304中,可以将该第一像素的坐标值记录为该网页的网页内容左侧边框的参考像素的坐标值,以替换在步骤S301中获得的参考像素的坐标值;而在第一像素的坐标值为负数的情况下,如果网页内容左侧边框的第二像素的坐标值为正数或零,则在步骤S306中,将该第二像素的坐标值记录为该网页的网页内容左侧边框的参考像素的坐标值,以替换在步骤S301中获得的参考像素的坐标值。而如果上述条件均不满足,即第一像素的坐标值为负数,且第二像素的坐标值也为负数,则可以将在步骤S301中获得的参考像素的坐标值作为网页内容左侧边框的参考像素的坐标值。
可选地,根据本发明的实施例,在所述第一像素的坐标值为负数的情况下,在执行步骤S305之前,还需要判断缩放结束时的显示缩放比例是否大于缩放前的显示缩放比例,并且缩放前的显示缩放比例是否大于零,只有在这两次判断的结果均为“是”的情况下,才执行后续的步骤S305等步骤。根据本发明的实施例,显示缩放比例是指“网页宽度”/“屏幕宽度”,在屏幕宽度不发生变化的情况下,一旦网页进行缩放,网页宽度发生变化,网页显示控件的显示缩放比例也会发生变化。
在执行了根据本发明的实施例的电子设备上网页缩放后对齐的方法200中的上述各步骤之后,就可以实现在网页缩放后与屏幕的左侧边框对齐的效果,如图6所示,其中示意性地示出了电子设备上网页缩放后对齐的网页的视图。
本发明提供了一种电子设备上网页缩放后对齐的方法。根据本发明的实施例,可以基于缩放操作结束时缩放中点在网页中的横纵坐标像素的坐标值以及缩放后显示缩放比例,获取网页内容左侧边框的第一像素的坐标值,并且在第一像素的坐标值大于或等于零的情况下根据其移动网页内容,而在第一像素的坐标值小于零的情况下,基于缩放操作开始时缩放中点的横纵坐标像素的坐标值以及缩放前显示缩放比例,获取网页内容左侧边框的第二像素的坐标值,并且在第二像素的坐标值大于等于零的情况下,根据第二像素的坐标值移动网页内容。由此,可以在网页缩放之后,自动移动网页内容,使得网页内容的左侧边框与电子设备屏幕的左侧边框对齐,使得网页内容铺满屏幕,从而充分利用屏幕上的显示空间,达到理想的显示效果。根据本发明,无需人工干预,即可实现网页缩放后自动对齐,避免了手动调整不够精确、无法达到理想的显示效果的问题。而且,本发明的实施例通过利用网页内容左侧边框的第一像素的坐标值、第二像素的坐标值、以及参考像素的坐标值的操作,可以最大程度地克服对于某些操作系统网页内容左侧边框的像素的坐标值小于零、找不到网页内容对应区域的问题,从而实现了对于几乎所有操作系统的支持。
与上述的方法200相对应,本发明还提供了一种电子设备上网页缩放后对齐的装置700。图7示意性地图示了根据本发明的实施例的电子设备上网页缩放后对齐的装置700的框图。
根据本发明的实施例,所述电子设备上网页缩放的装置700主要包括缩放中点坐标及显示缩放比例获取模块702、像素的坐标值获取模块704、以及网页内容移动模块706。
根据本发明的实施例,缩放中点坐标及显示缩放比例获取模块702适于获取缩放中点在网页中的横坐标像素的坐标值和在网页中的纵坐标像素的坐标值、以及显示缩放比例;像素的坐标值获取模块704适于基于所述缩放中点在网页中的横坐标像素的坐标值和在网页中的纵坐标像素的坐标值、以及显示缩放比例,获取网页内容左侧边框的像素的坐标值;网页内容移动模块706适于根据该网页内容左侧边框的像素的坐标值移动网页内容。
首先,缩放中点坐标及显示缩放比例获取模块702获取缩放中点在网页中的横坐标像素的坐标值和在网页中的纵坐标像素的坐标值、以及显示缩放比例。
根据本发明的实施例,可选地,所述缩放中点在网页中的横坐标像素的坐标值和在网页中的纵坐标像素的坐标值分别可以是网页缩放操作结束时缩放中点在网页中的横坐标像素的坐标值和在网页中的纵坐标像素的坐标值,所述显示缩放比例可以是缩放后显示缩放比例。从而,可选地,缩放中点坐标及显示缩放比例获取模块702可以获取网页缩放操作结束时缩放中点在网页中的横坐标像素的坐标值和在网页中的纵坐标像素的坐标值、以及缩放后显示缩放比例。
参照上述图3,可以帮助读者理解所述装置700各模块的功能。根据本发明的实施例,缩放中点坐标及显示缩放比例获取模块702可以首先从缩放管理器对象中反射缩放中点横坐标像素的坐标值方法以及缩放中点纵坐标像素的坐标值方法,以获取缩放中点的所在视图的横纵坐标像素的坐标值。根据本发明的实施例,对于Android系统,所述缩放管理器对象可以是mZoomManager对象,该对象可以直接或间接地被WebView控件调用,这样就可以将缩放操作从原本就很复杂的WebView控件中抽离出来,成为较为独立的模块,并被WebView控件(甚至其它的控件)所用。其中,在Android 2.3.x或更早版本中,这个Java类就是WebView控件类,即WebView类;而在Android 3.0及以后的版本,该对象为WebView控件所直接使用的一个Java类的对象,即ZoomManager类的对象。而对于Android系统,所述缩放中点横坐标像素的坐标值方法可以是mZoomCenterX方法,所述缩放中点纵坐标像素的坐标值方法可以是mZoomCenterY方法。
根据本发明的实施例,对于反射操作,缩放中点坐标及显示缩放比例获取模块702可以采用Java语言、.Net语言等提供的反射机制来进行操作,将方法或对象从私有属性临时变为公有属性,以供直接使用和修改。本领域技术人员能够理解,同样可以采用其它的程序设计语言,以相似的方式将方法或对象从私有属性临时变为公有属性,以达到反射操作的目的。
图4示意性地示出了根据本发明的实施例的缩放中点在网页和可视区域中的相对位置的视图。如上所述,缩放中点坐标及显示缩放比例获取模块702获取缩放中点的所在视图的横纵坐标像素的坐标值,如图4所示,所获取的是缩放中点相对于显示区域左下角顶点O1的横纵坐标像素的坐标值(x1,y1)。
图5示意性地示出了根据本发明的实施例的缩放操作开始时和缩放操作结束时的缩放中点的视图。如图5所示,缩放操作开始时缩放中点所在位置的坐标为(x0,y0),而缩放操作结束时缩放中点所在位置的坐标为(x1,y1)。可选地,缩放中点可以是缩放操作结束时的缩放中点,即图5中的(x1,y1)。
然后,缩放中点坐标及显示缩放比例获取模块702可以调用网页显示控件的获取可视区域横坐标像素的坐标值方法和获取可视区域纵坐标像素的坐标值方法,以获取可视区域左下顶点在网页中的横纵坐标像素的坐标值。
根据本发明的实施例,所述网页显示控件例如可以是Android系统的WebView控件,本发明的范围不限于此,网页显示控件可以是任何能够实现网页显示功能的控件,例如iOS系统的UIWebView控件等。
根据本发明的实施例,所述获取可视区域横坐标像素的坐标值方法可以是getScrollX方法,所述获取可视区域纵坐标像素的坐标值方法可以是getScrollY方法。如图4所示,缩放中点坐标及显示缩放比例获取模块702要获取的是可视区域左下顶点O1相对于网页左下顶点O2的横纵坐标像素的坐标值(x2,y2)。
之后,缩放中点坐标及显示缩放比例获取模块702从网页显示控件中反射获取内容的横坐标像素的坐标值方法和获取内容的纵坐标像素的坐标值方法,并且将所述缩放中点的所在视图的横纵坐标像素的坐标值与所述可视区域左下顶点在网页中的横纵坐标像素的坐标值分别相加并作为参数传递到所述获取内容的横坐标像素的坐标值方法和所述获取内容的纵坐标像素的坐标值方法,以获取缩放中点在网页中的横坐标像素的坐标值以及缩放中点在网页中的纵坐标像素的坐标值。上述可视区域为缩放操作之前电子设备屏幕上的可视区域。
根据本发明的实施例,对于Android系统,所述获取内容的横坐标像素的坐标值方法可以是viewToContentX方法,所述获取内容的纵坐标像素的坐标值方法可以是viewToContentY方法。缩放中点坐标及显示缩放比例获取模块702可以将所述缩放中点的所在视图的横纵坐标像素的坐标值与所述可视区域左下顶点在网页中的横纵坐标像素的坐标值分别相加,可以得到横纵坐标像素的坐标值(x1+x2,y1+y2),即,缩放中点相对于网页左下顶点O2的横纵坐标像素的坐标值,也就是缩放中点在网页中的横坐标像素的坐标值以及缩放中点在网页中的纵坐标像素的坐标值。将(x1+x2,y1+y2)作为参数传递到所述获取内容的横坐标像素的坐标值方法和所述获取内容的纵坐标像素的坐标值方法的目的是去除一些边框、滚动条等像素,从而得到更准确的位置表示。
然后,缩放中点坐标及显示缩放比例获取模块702可以调用网页显示控件的获取显示缩放比例方法,以获取显示缩放比例。对于Android系统,所述获取显示缩放比例方法是getScale方法。可选地,缩放中点坐标及显示缩放比例获取模块702所要获取的显示缩放比例可以是缩放结束后的显示缩放比例。
在此之后,像素的坐标值获取模块704可以基于所述缩放中点在网页中的横坐标像素的坐标值和在网页中的纵坐标像素的坐标值、以及显示缩放比例,获取网页内容左侧边框的像素的坐标值。根据本发明的实施例,可选地,所述缩放中点在网页中的横坐标像素的坐标值和在网页中的纵坐标像素的坐标值可以分别是网页缩放操作结束时缩放中点在网页中的横坐标像素的坐标值和在网页中的纵坐标像素的坐标值,所述显示缩放比例可以是缩放后显示缩放比例。因此,可选地,所述像素的坐标值获取模块704可以基于网页缩放操作结束时缩放中点在网页中的横坐标像素的坐标值和在网页中的纵坐标像素的坐标值以及缩放后显示缩放比例,获取网页内容左侧边框的第一像素的坐标值。
根据本发明的实施例,像素的坐标值获取模块704可以将所述缩放中点在网页中的横坐标像素的坐标值、所述缩放中点在网页中的纵坐标像素的坐标值、所述显示缩放比例作为参数传递到获取网页内容左侧边框的像素的坐标值方法,以获取网页内容左侧边框的像素的坐标值。可选地,像素的坐标值获取模块704可以将所述缩放操作结束时缩放中点在网页中的横坐标像素的坐标值、所述缩放中点在网页中的纵坐标像素的坐标值、所述缩放后显示缩放比例作为参数传递到获取网页内容左侧边框的像素的坐标值方法,以获取网页内容左侧边框的第一像素的坐标值。
根据本发明的实施例,对于Android系统,所述获取网页内容左侧边框的像素的坐标值方法是getBlockLeftEdge方法或nativeGetBlockLeftEdge方法。对于Android 4.1.x版本及之后的版本,可以使用getBlockLeftEdge方法,而对于Android 4.1.x之前的版本,可以使用nativeGetBlockLeftEdge方法。对于Android系统,可以通过获取Build.VERSION.SDK_INT对象来得到Android系统的版本号。
根据本发明的实施例,在像素的坐标值获取模块704获取网页内容左侧边框的第一像素的坐标值之后,网页内容移动模块706根据该网页内容左侧边框的第一像素的坐标值移动网页内容。根据本发明的实施例,网页内容移动模块706可以将所述网页内容左侧边框的第一像素的坐标值、所述显示缩放比例(例如,缩放后显示缩放比例)、可视区域左下顶点在网页中的纵坐标像素的坐标值(即,上述y2)作为参数传递到移动可视区域方法,从而在水平方向上移动网页内容。即,仅在水平方向上调整可视区域的位置,而在垂直方向上不变。对于Android系统,所述移动可视区域方法是scrollTo方法或pinScrollTo方法。
可选地,根据本发明的实施例,所述像素的坐标值获取模块704还适于在所述缩放中点坐标及显示缩放比例获取模块702获取缩放中点在网页中的横坐标像素的坐标值和在网页中的纵坐标像素的坐标值、以及显示缩放比例之前,获取该网页的网页内容左侧边框的参考像素的坐标值,并判断所述参考像素的坐标值是否为正数或零,如果其为正数或零,则所述像素的坐标值获取模块704使该参考像素的坐标值不变。即,如果所述参考像素的坐标值为正数或零,则表明已经成功获取了网页内容左侧边框的参考像素的坐标值。根据本发明的实施例,所述网页的网页内容左侧边框的参考像素的坐标值的默认值为一负的预定值,例如“-1”,若所述像素的坐标值获取模块704所获取的参考像素的坐标值为负数,则表明没有成功地获取网页内容左侧边框的像素的坐标值。
如果所述参考像素的坐标值为负数,则所述像素的坐标值获取模块704基于缩放操作开始时缩放中点的横坐标像素的坐标值和纵坐标像素的坐标值(例如,如图5所示的(x0,y0))以及缩放前显示缩放比例,获取网页内容左侧边框的像素的坐标值,并且在该获取的像素的坐标值为正数或零的情况下将其作为网页内容左侧边框的参考像素的坐标值。其中,根据本发明的实施例,缩放中点坐标及显示缩放比例获取模块702可以利用与上面描述的操作相同的方式来获取缩放操作开始时缩放中点的横坐标像素的坐标值和纵坐标像素的坐标值以及缩放前显示缩放比例,并且所述像素的坐标值获取模块704可以利用与上面描述的操作相同的方式来获取参考像素的坐标值,即所述像素的坐标值获取模块704可以将缩放操作开始时缩放中点的横坐标像素的坐标值和纵坐标像素的坐标值以及缩放前显示缩放比例作为参数传递到获取网页内容左侧边框的像素的坐标值方法,以获取网页内容左侧边框的像素的坐标值。根据本发明的实施例,对于Android系统,根据本发明的实施例,对于Android系统,所述获取网页内容左侧边框的像素的坐标值方法可以是如上所述的getBlockLeftEdge方法或nativeGetBlockLeftEdge方法。
根据本发明的实施例,在所述像素的坐标值获取模块704基于所述缩放中点在网页中的横坐标像素的坐标值和在网页中的纵坐标像素的坐标值、以及显示缩放比例获取网页内容左侧边框的第一像素的坐标值之后,可选地,在所述网页内容左侧边框的第一像素的坐标值为正数或零的情况下,网页内容移动模块706可以根据该第一像素的坐标值移动网页内容,并且将该第一像素的坐标值记录为该网页的网页内容左侧边框的参考像素的坐标值。根据本发明的实施例,网页内容移动模块706可以将所述网页内容左侧边框的第一像素的坐标值、所述显示缩放比例(例如,缩放后显示缩放比例)、可视区域左下顶点在网页中的纵坐标像素的坐标值(即,上述y2)作为参数传递到移动可视区域方法,从而在水平方向上移动网页内容。即,仅在水平方向上调整可视区域的位置,而在垂直方向上不变。对于Android系统,所述移动可视区域方法是scrollTo方法或pinScrollTo方法。
可选地,根据本发明的实施例,在所述第一像素的坐标值为负数的情况下,所述像素的坐标值获取模块704可以基于缩放操作开始时缩放中点的横坐标像素的坐标值和纵坐标像素的坐标值(例如,如图5所示的(x0,y0))以及缩放前显示缩放比例,获取网页内容左侧边框的第二像素的坐标值。根据本发明的实施例,缩放中点坐标及显示缩放比例获取模块702可以利用与上面描述的操作相同的方式来获取缩放操作开始时缩放中点的横坐标像素的坐标值和纵坐标像素的坐标值以及缩放前显示缩放比例,并且像素的坐标值获取模块704可以利用与上面描述的操作相同的方式来获取该第二像素的坐标值。
然后,在所述网页内容左侧边框的第二像素的坐标值为正数或零的情况下,网页内容移动模块706可以根据所述第二像素的坐标值移动网页内容,并将该第二像素的坐标值记录为该网页的网页内容左侧边框的参考像素的坐标值。根据本发明的实施例,像素的坐标值获取模块704可以将所述缩放操作开始时缩放中点的横坐标像素的坐标值和纵坐标像素的坐标值以及缩放前显示缩放比例传递到获取网页内容左侧边框的像素的坐标值方法,以获取网页内容左侧边框的第二像素的坐标值。对于Android系统,所述获取网页内容左侧边框的像素的坐标值方法可以是如上所述的getBlockLeftEdge方法或nativeGetBlockLeftEdge方法。根据本发明的实施例,网页内容移动模块706可以将所述第二像素的坐标值、缩放后显示缩放比例、可视区域左下顶点在网页中的纵坐标像素的坐标值(即,上述y2)作为参数传递到移动可视区域方法,从而在水平方向上移动网页内容。即,仅在水平方向上调整可视区域的位置,而在垂直方向上不变。对于Android系统,所述移动可视区域方法可以是如上所述的scrollTo方法或pinScrollTo方法。
而当所述第二像素的坐标值为负数时,网页内容移动模块706可以根据所述参考像素的坐标值移动网页内容。网页内容移动模块706可以将所述参考像素的坐标值、缩放后显示缩放比例、可视区域左下顶点在网页中的纵坐标像素的坐标值(即,上述y2)作为参数传递到移动可视区域方法,从而在水平方向上移动网页内容。同样,仅在水平方向上调整可视区域的位置,而在垂直方向上不变,所述移动可视区域方法可以是如上所述的scrollTo方法或pinScrollTo方法。
根据本发明的实施例,如上所述,像素的坐标值获取模块704可以获得网页内容左侧边框的参考像素的坐标值。随后,在网页内容左侧边框的第一像素的坐标值为正数或零的情况下,网页内容移动模块706可以将该第一像素的坐标值记录为该网页的网页内容左侧边框的参考像素的坐标值,以替换像素的坐标值获取模块704获得的参考像素的坐标值;而在第一像素的坐标值为负数的情况下,如果网页内容左侧边框的第二像素的坐标值为正数或零,则网页内容移动模块706可以将该第二像素的坐标值记录为该网页的网页内容左侧边框的参考像素的坐标值,以替换像素的坐标值获取模块704获得的参考像素的坐标值。而如果上述条件均不满足,即第一像素的坐标值为负数,且第二像素的坐标值也为负数,则可以将像素的坐标值获取模块704获得的参考像素的坐标值作为网页内容左侧边框的参考像素的坐标值。
可选地,根据本发明的实施例,在所述像素的坐标值获取模块704获取网页内容左侧边框的第二像素的坐标值之前,还需要判断缩放结束时的显示缩放比例是否大于缩放前的显示缩放比例,并且缩放前的显示缩放比例是否大于零,只有在这两次判断的结果均为“是”的情况下,所述像素的坐标值获取模块704才获取网页内容左侧边框的第二像素的坐标值。根据本发明的实施例,显示缩放比例是指“网页宽度”/“屏幕宽度”,在屏幕宽度不发生变化的情况下,一旦网页进行缩放,网页宽度发生变化,网页显示控件的显示缩放比例也会发生变化。
在根据本发明的实施例的电子设备上网页缩放后对齐的装置700执行上述操作之后,就可以实现在网页缩放后与屏幕的左侧边框对齐的效果,如图6所示,其中示意性地示出了电子设备上网页缩放后对齐的网页的视图。
由于上述各设备(装置)实施例与前述各方法实施例相对应,因此不再对各装置实施例进行详细描述。
在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的装置中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个装置中。可以把实施例中的若干模块组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者模块中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个装置实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的装置中的一些或者全部模块的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
本发明的实施例公开了A1.一种电子设备上网页缩放后对齐的方法,包括:获取缩放中点在网页中的横坐标像素的坐标值和在网页中的纵坐标像素的坐标值、以及显示缩放比例;基于所述缩放中点在网页中的横坐标像素的坐标值和在网页中的纵坐标像素的坐标值、以及显示缩放比例,获取网页内容左侧边框的像素的坐标值;以及根据该网页内容左侧边框的像素的坐标值移动网页内容。A2.如A1所述的方法,其中所述缩放中点在网页中的横坐标像素的坐标值和在网页中的纵坐标像素的坐标值分别是网页缩放操作结束时缩放中点在网页中的横坐标像素的坐标值和在网页中的纵坐标像素的坐标值,所述显示缩放比例是缩放后显示缩放比例,在所述基于所述缩放中点在网页中的横坐标像素的坐标值和在网页中的纵坐标像素的坐标值以及显示缩放比例获取网页内容左侧边框的像素的坐标值的步骤中,基于网页缩放操作结束时缩放中点在网页中的横坐标像素的坐标值和在网页中的纵坐标像素的坐标值以及缩放后显示缩放比例,获取网页内容左侧边框的第一像素的坐标值,其中在所述根据该网页内容左侧边框的像素的坐标值移动网页内容的步骤中,在所述网页内容左侧边框的第一像素的坐标值为正数或零的情况下,根据该第一像素的坐标值移动网页内容,所述方法还包括步骤:在所述第一像素的坐标值为正数或零的情况下,将该第一像素的坐标值记录为该网页的网页内容左侧边框的参考像素的坐标值;在所述第一像素的坐标值为负数的情况下,基于缩放操作开始时缩放中点的横坐标像素的坐标值和纵坐标像素的坐标值以及缩放前显示缩放比例,获取网页内容左侧边框的第二像素的坐标值;以及在所述网页内容左侧边框的第二像素的坐标值为正数或零的情况下,根据所述第二像素的坐标值移动网页内容,并将该第二像素的坐标值记录为该网页的网页内容左侧边框的参考像素的坐标值。A3.如A2所述的方法,其中所述网页的网页内容左侧边框的参考像素的坐标值的默认值为一负的预定值,在所述获取网页缩放操作结束时缩放中点在网页中的横坐标像素的坐标值和在网页中的纵坐标像素的坐标值、以及缩放后显示缩放比例的步骤之前还包括:获取该网页的网页内容左侧边框的参考像素的坐标值;判断所述参考像素的坐标值是否为正数或零;如果所述参考像素的坐标值为正数或零,则所述参考像素的坐标值不变;如果所述参考像素的坐标值为负数,则基于缩放操作开始时缩放中点的横坐标像素的坐标值和纵坐标像素的坐标值以及缩放前显示缩放比例,获取网页内容左侧边框的像素的坐标值,并且在该获取的像素的坐标值为正数或零的情况下将其作为网页内容左侧边框的参考像素的坐标值。A4.如A3所述的方法,其中当所述第二像素的坐标值为负数时,根据所述参考像素的坐标值移动网页内容。A5.如A1所述的方法,其中获取缩放中点在网页中的横坐标像素的坐标值和在网页中的纵坐标像素的坐标值、以及显示缩放比例的步骤包括:从缩放管理器对象中反射缩放中点横坐标像素的坐标值方法以及缩放中点纵坐标像素的坐标值方法,以获取缩放中点的所在视图的横纵坐标像素的坐标值;调用网页显示控件的获取可视区域横坐标像素的坐标值方法和获取可视区域纵坐标像素的坐标值方法,以获取可视区域左下顶点在网页中的横纵坐标像素的坐标值;从网页显示控件中反射获取内容的横坐标像素的坐标值方法和获取内容的纵坐标像素的坐标值方法,并且将所述缩放中点的所在视图的横纵坐标像素的坐标值与所述可视区域左下顶点在网页中的横纵坐标像素的坐标值分别相加并作为参数传递到所述获取内容的横坐标像素的坐标值方法和所述获取内容的纵坐标像素的坐标值方法,以获取缩放中点在网页中的横坐标像素的坐标值以及缩放中点在网页中的纵坐标像素的坐标值;调用网页显示控件的获取显示缩放比例方法,以获取显示缩放比例。A6.如A1所述的方法,其中基于缩放中点在网页中的横坐标像素的坐标值和在网页中的纵坐标像素的坐标值以及显示缩放比例获取网页内容左侧边框的像素的坐标值的步骤包括:将所述缩放中点在网页中的横坐标像素的坐标值、所述缩放中点在网页中的纵坐标像素的坐标值、所述显示缩放比例作为参数传递到获取网页内容左侧边框的像素的坐标值方法,以获取网页内容左侧边框的像素的坐标值。A7.如A1所述的方法,其中在所述根据所述网页内容左侧边框的像素的坐标值移动网页内容的步骤中,将所述网页内容左侧边框的像素的坐标值、所述显示缩放比例、可视区域左下顶点在网页中的纵坐标像素的坐标值作为参数传递到移动可视区域方法,从而在水平方向上移动网页内容。A8.如A1至A7中的任一项所述的方法,其中所述网页显示控件是Android系统的WebView控件,所述缩放管理器对象是mZoomManager对象,所述缩放中点横坐标像素的坐标值方法是mZoomCenterX方法,所述缩放中点纵坐标像素的坐标值方法是mZoomCenterY方法,所述获取可视区域横坐标像素的坐标值方法是getScrollX方法,所述获取可视区域纵坐标像素的坐标值方法是getScrollY方法,所述获取内容的横坐标像素的坐标值方法是viewToContentX方法,所述获取内容的纵坐标像素的坐标值方法是viewToContentY方法,所述获取显示缩放比例方法是getScale方法,所述获取网页内容左侧边框的像素的坐标值方法是getBlockLeftEdge方法或nativeGetBlockLeftEdge方法,所述移动可视区域方法是scrollTo方法或pinScrollTo方法。
本发明的实施例还公开了B9.一种电子设备上网页缩放后对齐的装置,包括:缩放中点坐标及显示缩放比例获取模块,适于获取缩放中点在网页中的横坐标像素的坐标值和在网页中的纵坐标像素的坐标值、以及显示缩放比例;像素的坐标值获取模块,适于基于所述缩放中点在网页中的横坐标像素的坐标值和在网页中的纵坐标像素的坐标值、以及显示缩放比例,获取网页内容左侧边框的像素的坐标值;以及网页内容移动模块,适于根据该网页内容左侧边框的像素的坐标值移动网页内容。B10.如B9所述的装置,其中所述缩放中点在网页中的横坐标像素的坐标值和在网页中的纵坐标像素的坐标值分别是网页缩放操作结束时缩放中点在网页中的横坐标像素的坐标值和在网页中的纵坐标像素的坐标值,所述显示缩放比例是缩放后显示缩放比例,其中所述像素的坐标值获取模块基于网页缩放操作结束时缩放中点在网页中的横坐标像素的坐标值和在网页中的纵坐标像素的坐标值以及缩放后显示缩放比例,获取网页内容左侧边框的第一像素的坐标值,其中在所述网页内容左侧边框的第一像素的坐标值为正数或零的情况下,所述网页内容移动模块根据该第一像素的坐标值移动网页内容,并将该第一像素的坐标值记录为该网页的网页内容左侧边框的参考像素的坐标值,所述像素的坐标值获取模块,还适于在所述第一像素的坐标值为负数的情况下,基于缩放操作开始时缩放中点的横坐标像素的坐标值和纵坐标像素的坐标值以及缩放前显示缩放比例,获取网页内容左侧边框的第二像素的坐标值,其中在所述网页内容左侧边框的第二像素的坐标值为正数或零的情况下,所述网页内容移动模块根据所述第二像素的坐标值移动网页内容,并将该第二像素的坐标值记录为该网页的网页内容左侧边框的参考像素的坐标值。B11.如B10所述的装置,其中所述网页的网页内容左侧边框的参考像素的坐标值的默认值为一负的预定值,所述像素的坐标值获取模块,还适于在所述缩放中点坐标及显示缩放比例获取模块获取网页缩放操作结束时缩放中点在网页中的横坐标像素的坐标值和在网页中的纵坐标像素的坐标值、以及缩放后显示缩放比例之前:获取该网页的网页内容左侧边框的参考像素的坐标值;判断所述参考像素的坐标值是否为正数或零,如果其为正数或零,则使该参考像素的坐标值不变;如果所述参考像素的坐标值为负数,则基于缩放操作开始时缩放中点的横坐标像素的坐标值和纵坐标像素的坐标值以及缩放前显示缩放比例,获取网页内容左侧边框的像素的坐标值,并且在该获取的像素的坐标值为正数或零的情况下将其作为网页内容左侧边框的参考像素的坐标值。B12.如B11所述的装置,其中当所述第二像素的坐标值为负数时,所述网页内容移动模块根据所述参考像素的坐标值移动网页内容。B13.如B9所述的装置,其中所述缩放中点坐标及显示缩放比例获取模块适于:从缩放管理器对象中反射缩放中点横坐标像素的坐标值方法以及缩放中点纵坐标像素的坐标值方法,以获取缩放中点的所在视图的横纵坐标像素的坐标值;调用网页显示控件的获取可视区域横坐标像素的坐标值方法和获取可视区域纵坐标像素的坐标值方法,以获取可视区域左下顶点在网页中的横纵坐标像素的坐标值;从网页显示控件中反射获取内容的横坐标像素的坐标值方法和获取内容的纵坐标像素的坐标值方法,并且将所述缩放中点的所在视图的横纵坐标像素的坐标值与所述可视区域左下顶点在网页中的横纵坐标像素的坐标值分别相加并作为参数传递到所述获取内容的横坐标像素的坐标值方法和所述获取内容的纵坐标像素的坐标值方法,以获取缩放中点在网页中的横坐标像素的坐标值以及缩放中点在网页中的纵坐标像素的坐标值;调用网页显示控件的获取显示缩放比例方法,以获取显示缩放比例。B14.如B9所述的装置,其中所述像素的坐标值获取模块适于将所述缩放中点在网页中的横坐标像素的坐标值、所述缩放中点在网页中的纵坐标像素的坐标值、所述显示缩放比例作为参数传递到获取网页内容左侧边框的像素的坐标值方法,以获取网页内容左侧边框的像素的坐标值。B15.如B9所述的装置,其中网页内容移动模块适于将所述网页内容左侧边框的像素的坐标值、所述显示缩放比例、可视区域左下顶点在网页中的纵坐标像素的坐标值作为参数传递到移动可视区域方法,从而在水平方向上移动网页内容。B16.如B9至B15中的任一项所述的装置,其中所述网页显示控件是Android系统的WebView控件,所述缩放管理器对象是mZoomManager对象,所述缩放中点横坐标像素的坐标值方法是mZoomCenterX方法,所述缩放中点纵坐标像素的坐标值方法是mZoomCenterY方法,所述获取可视区域横坐标像素的坐标值方法是getScrollX方法,所述获取可视区域纵坐标像素的坐标值方法是getScrollY方法,所述获取内容的横坐标像素的坐标值方法是viewToContentX方法,所述获取内容的纵坐标像素的坐标值方法是viewToContentY方法,所述获取显示缩放比例方法是getScale方法,所述获取网页内容左侧边框的像素的坐标值方法是getBlockLeftEdge方法或nativeGetBlockLeftEdge方法,所述移动可视区域方法是scrollTo方法或pinScrollTo方法。