一种电子设备上网页缩放的方法和装置与流程

文档序号:11733285阅读:177来源:国知局
一种电子设备上网页缩放的方法和装置与流程
本发明涉及网页显示技术,尤其涉及一种电子设备上网页缩放的方法和装置。

背景技术:
随着电子设备智能化的不断发展,越来越多的用户使用电子设备上的浏览器浏览网页或其它内容,而在浏览网页的操作中,对内容的缩小或放大(以下简称“缩放”)的使用场景较为普遍。在一种现有技术的方案中,采用电子设备操作系统自带的显示控件,以Android系统为例,开启其自带的WebView控件的缩放功能,即可实现缩放。图1示意性地示出了电子设备上所显示的一个完整网页页面的视图,采用这种现有技术方案,用户可通过放大页面中的某一区域以更清楚地看到这一区域的具体内容,具体表现为:该区域内的图片、文字等元素都会等比例的放大。然而,如示意性地示出电子设备上所显示的放大后的某一区域的视图的图2所示,该区域外的内容,尤其是之前还在该区域内、后来因放大而移出该区域的内容,会因超出屏幕范围而不能显示。与之相对,通过缩小操作,能更清楚地看到网页的全貌,具体表现为:区域内的图片、文字等元素会等比例缩小,因缩小而空余出来的区域则会填充上之前没有显示完全的内容,但与此同时也会导致文字变得较小,可读性较差。在另一种现有技术的方案中,通过修改浏览器内核组件(如Android系统的WebKit组件),然后将其捆绑到其应用程序安装包中来实现缩放功能。这种现有技术方案可以做到在放大指定区域时,将该区域内的文字内容进行重新排版,并将其“平铺”地显示到电子设备上,以达到类似阅读小说的效果,避免了因放大而无法显示部分内容的问题。然而,这种现有技术方案存在着缩放速度较慢、应用程序安装包较大(通常需要多占用5MB到6MB的存储空间)、无法利用新版本的操作系统带来的新特性等缺陷,同时,修改浏览器内核组件存在一定的风险,加大了开发和适配的难度,有可能导致浏览器崩溃而难以查出具体原因。

技术实现要素:
鉴于上述问题,提出了本发明,以便提供一种克服上述问题或者至少部分地解决上述问题的电子设备上网页缩放的方法和装置。依据本发明的一个方面,提供了一种电子设备上网页缩放的方法,包括以下步骤:继承网页显示控件,以构建定制触摸事件方法;判断对电子设备的操作是否为松开n个触摸点中的n-1个触摸点而触发触摸事件方法,其中n为大于或等于2的整数;在判断结果为是的情况下,将网页文字缩放比例设置为网页显示控件的显示缩放比例;从缩放管理器对象中反射设置并启用缩放比例方法以进行调用;以及执行被继承的网页显示控件的触摸事件方法。可选地,在根据本发明的实施例的电子设备上网页缩放的方法中,所述将网页文字缩放比例设置为网页显示控件的显示缩放比例的步骤包括:在电子设备的操作系统为Android2.3.x或更早版本的情况下,从所述网页显示控件中反射文字缩放比例对象,并且将网页显示控件的显示缩放比例的值赋予所述文字缩放比例对象;或者在电子设备的操作系统为Android4.0或更新版本的情况下,从所述缩放管理器对象中反射文字缩放比例对象,并且将网页显示控件的显示缩放比例的值赋予所述文字缩放比例对象。可选地,在根据本发明的实施例的电子设备上网页缩放的方法中,在所述判断对电子设备的操作是否为松开n个触摸点中的n-1个触摸点而触发触摸事件方法的步骤中,利用ACTION_POINTER_UP对象或者ACTION_POINTER_n_UP对象判断是否为松开n个触摸点中的n-1个触摸点而触发触摸事件方法。可选地,根据本发明的实施例的电子设备上网页缩放的方法还包括步骤:在所述将网页文字缩放比例设置为网页显示控件的显示缩放比例的步骤之前,判断电子设备的操作系统是否支持缩放处理器对象,在不支持的情况下,执行所述将网页文字缩放比例设置为网页显示控件的显示缩放比例的步骤以及所述从缩放管理器对象中反射设置并启用缩放比例方法以进行调用并且执行被继承的网页显示控件的触摸事件方法的步骤;在支持的情况下,执行所述被继承的网页显示控件的触摸事件方法的步骤。可选地,根据本发明的实施例的电子设备上网页缩放的方法还包括步骤:在所述将网页文字缩放比例设置为网页显示控件的显示缩放比例的步骤之前,将是否启用宽屏浏览对象的值设置为false;并且在所述从缩放管理器对象中反射设置并启用缩放比例方法以进行调用的步骤之后,将是否启用宽屏浏览对象的值设置为true。可选地,在根据本发明的实施例的电子设备上网页缩放的方法中,在所述从缩放管理器对象中反射设置并启用缩放比例方法以进行调用的步骤中,调用时传递的参数包括被设置为网页显示控件的显示缩放比例的网页文字缩放比例、允许文字排版、以及允许强制文字排版。可选地,在根据本发明的实施例的电子设备上网页缩放的方法中,所述网页显示控件是Android系统的WebView控件,所述缩放管理器对象是mZoomManager对象,所述缩放处理器对象是mListener对象,所述文字缩放比例对象是mTextWrapScale对象,所述触摸事件方法包括onTouchEvent方法以及dispatchTouchEvent方法,所述设置并启用缩放比例方法是setZoomScale方法或setNewZoomScale方法,所述是否启用宽屏浏览对象是setUseWideViewPort对象。依据本发明的另一方面,提供了一种电子设备上网页缩放的装置,包括:定制触摸事件方法构建模块,适于继承网页显示控件,以构建定制触摸事件方法;触摸点判断模块,适于判断对电子设备的操作是否为松开n个触摸点中的n-1个触摸点而触发触摸事件方法,其中n为大于或等于2的整数;网页文字缩放比例设置模块,适于在判断结果为是的情况下,将网页文字缩放比例设置为网页显示控件的显示缩放比例;缩放比例调用模块,适于从缩放管理器对象中反射设置并启用缩放比例方法以进行调用;以及触摸事件方法执行模块,适于执行被继承的网页显示控件的触摸事件方法。可选地,在根据本发明的实施例的电子设备上网页缩放的装置中,在电子设备的操作系统为Android2.3.x或更早版本的情况下,所述网页文字缩放比例设置模块适于从所述网页显示控件中反射文字缩放比例对象,并且将网页显示控件的显示缩放比例的值赋予所述文字缩放比例对象;或者在电子设备的操作系统为Android4.0或更新版本的情况下,所述网页文字缩放比例设置模块适于从所述缩放管理器对象中反射文字缩放比例对象,并且将网页显示控件的显示缩放比例的值赋予所述文字缩放比例对象。可选地,在根据本发明的实施例的电子设备上网页缩放的装置中,所述触摸点判断模块适于利用ACTION_POINTER_UP对象或者ACTION_POINTER_n_UP对象判断是否为松开n个触摸点中的n-1个触摸点而触发触摸事件方法。可选地,根据本发明的实施例的电子设备上网页缩放的装置还包括:缩放处理器支持判断模块,适于在所述网页文字缩放比例设置模块将网页文字缩放比例设置为网页显示控件的显示缩放比例之前,判断电子设备的操作系统是否支持缩放处理器对象,在不支持的情况下,所述网页文字缩放比例设置模块将网页文字缩放比例设置为网页显示控件的显示缩放比例,缩放比例调用模块从缩放管理器对象中反射设置并启用缩放比例方法以进行调用,并且触摸事件方法执行模块执行被继承的网页显示控件的触摸事件方法;在支持的情况下,触摸事件方法执行模块执行所述被继承的网页显示控件的触摸事件方法。可选地,根据本发明的实施例的电子设备上网页缩放的装置还包括:启用宽屏浏览对象设置模块,适于在所述网页文字缩放比例设置模块将网页文字缩放比例设置为网页显示控件的显示缩放比例之前,将是否启用宽屏浏览对象的值设置为false,并且适于在所述缩放比例调用模块从缩放管理器对象中反射设置并启用缩放比例方法以进行调用之后,将是否启用宽屏浏览对象的值设置为true。可选地,在根据本发明的实施例的电子设备上网页缩放的装置中,在所述缩放比例调用模块从缩放管理器对象中反射设置并启用缩放比例方法以进行调用时,调用时传递的参数包括被设置为网页显示控件的显示缩放比例的网页文字缩放比例、允许文字排版、以及允许强制文字排版。可选地,在根据本发明的实施例的电子设备上网页缩放的装置中,所述网页显示控件是Android系统的WebView控件,所述缩放管理器对象是mZoomManager对象,所述缩放处理器对象是mListener对象,所述文字缩放比例对象是mTextWrapScale对象,所述触摸事件方法包括onTouchEvent方法以及dispatchTouchEvent方法,所述设置并启用缩放比例方法是setZoomScale方法或setNewZoomScale方法,所述是否启用宽屏浏览对象是setUseWideViewPort对象。本发明提供了一种电子设备上网页缩放的方法和装置。根据本发明的实施例,继承网页显示控件,以构建定制触摸事件方法,在判断触摸操作为松开n个触摸点中的n-1个触摸点而触发触摸事件方法的情况下,将网页文字缩放比例设置为网页显示控件的显示缩放比例,并且从缩放管理器对象中反射设置并启用缩放比例方法以进行调用,从而在不修改浏览器或其它页面显示程序的内核组件(如Android系统的WebKit组件)的前提下,实现页面缩放后重新排版、使内容平铺至整个屏幕的功能,解决了因放大而无法显示部分内容的问题。而且,本发明的实施例对于操作系统不支持缩放处理器对象的电子设备,同样能够实现上述缩放后重新排版的功能,这样就实现了对于几乎所有电子设备的支持。同时,根据本发明的实施例,可以充分利用新版本的操作系统带来的新特性,例如利用Android4.0及更新版本的硬件加速功能,可以显著提高缩放速度,还可以利用Android4.0及更新版本的高级网页浏览特征等新特性。另外,由于不需要修改浏览器或其它页面显示程序的内核组件,节省了电子设备的存储空间,同时也避免了修改浏览器内核组件带来的风险。上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。附图说明通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:图1示意性地示出了电子设备上所显示的一个完整网页页面的视图;图2示意性地示出了电子设备上所显示的放大后的某一区域的视图;图3示意性地示出了根据本发明的实施例的电子设备上网页缩放的方法的流程图;图4示意性地图示了根据本发明的实施例的包含各可选步骤的电子设备上网页缩放的方法的流程图;图5示意性地示出了根据本发明的实施例的电子设备上网页缩放的装置的框图;以及图6示意性地图示了根据本发明的实施例的包含各可选模块的电子设备上网页缩放的装置的框图。具体实施方式下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。图3示意性地图示了根据本发明的实施例的电子设备上网页缩放的方法300的流程图。本发明的原理适用于任何包含显示部件的电子设备,包括、但不限于:基于Windows、Linux、MacOS、Unix等桌面操作系统的计算机;基于iOS、Android、WindowsPhone、Symbian等移动操作系统的移动电话、平板电脑、视频播放器、电子阅读器、数码相框等等。在下文中,将以基于Android系统的电子设备为例,对本发明的原理进行示例性地描述。然而,这只是为了以具体的示例描述本发明,以帮助读者理解本发明的原理,本发明的范围不限于此,而是可以适用于任何包含显示部件、基于任何操作系统的电子设备。在下面的描述中,“缩放”均指“缩小或放大”。根据本发明的实施例,网页内容不仅可以包括文字内容,也可以包括图片、视频等其它内容。如图3所示,根据本发明的实施例的电子设备上网页缩放的方法300始于步骤S301,在步骤S301中,继承网页显示控件,以构建定制触摸事件方法。根据本发明的实施例,所述网页显示控件例如可以是Android系统的WebView控件,本发明的范围不限于此,网页显示控件可以是任何能够实现网页显示功能的控件,例如iOS系统的UIWebView控件等。根据本发明的实施例,触摸事件方法例如可以是Android系统的onTouchEvent方法和/或dispatchTouchEvent方法,用户对某一控件的任何触摸操作,Android系统都会触发该控件的触摸处理事件,onTouchEvent方法和dispatchTouchEvent方法带一个参数,用来描述用户当前触摸的情况,在Android系统中是MotionEvent对象,其用来描述例如用户当前触摸点的数量、相应的坐标、以及触摸的状态,如“移动时”、“按下时”、“松开时”等。根据本发明的实施例,在上述步骤S301中,可以生成一个对象,让其继承网页显示控件,以构建其自己的定制触摸事件方法,例如onTouchEvent方法和dispatchTouchEvent方法。在步骤S301之后,执行步骤S303,其中,判断对电子设备的操作是否为松开n个触摸点中的n-1个触摸点而触发触摸事件方法,其中n为大于或等于2的整数。以n=2的情况为例,即,假设用户用两根手指触摸电子设备的触摸屏幕,在其中一根手指松开时,就会触发触摸处理事件方法。根据本发明的实施例,在步骤S303中,对于Android系统,可以利用ACTION_POINTER_UP对象或者ACTION_POINTER_n_UP对象判断是否为松开n个触摸点中的n-1个触摸点而触发触摸事件方法。接下来,执行步骤S305,其中,在步骤S303中的判断结果为是的情况下,将网页文字缩放比例设置为网页显示控件的显示缩放比例。根据本发明的实施例,在步骤S305中,在电子设备的操作系统为Android2.3.x或更早版本的情况下,从所述网页显示控件中反射文字缩放比例对象,并且将网页显示控件的显示缩放比例的值赋予所述文字缩放比例对象。根据本发明的实施例,对于反射操作,可以采用Java语言、.Net语言等提供的反射机制来进行操作,将方法或对象从私有属性临时变为公有属性,以供直接使用和修改。本领域技术人员能够理解,同样可以采用其它的程序设计语言,以相似的方式将方法或对象从私有属性临时变为公有属性,以达到反射操作的目的。另外,对于Android系统,可以通过获取Build.VERSION.SDK_INT对象来得到Android系统的版本号。根据本发明的实施例,在Android系统中,所述文字缩放比例对象是mTextWrapScale对象。将网页显示控件的显示缩放比例的值赋予所述文字缩放比例对象,即,使文字缩放比例对象的文字缩放比例的值等于网页显示控件的显示缩放比例的值。其中,文字缩放比例是指“网页宽度”/“文本宽度”,显示缩放比例是指“网页宽度”/“屏幕宽度”。当文字缩放比例的值等于显示缩放比例的值时,文本宽度就等于网页宽度,该文本便可以全屏显示。举例来说,如果文字缩放比例为2,而WebView控件的显示缩放比例为1,表示文字所占屏幕的比例为1/2;而如果WebView控件的显示比例和文字缩放比例均为1,则表示文字所占屏幕比例为1/1,也即全屏显示。另外,即使用户在使用过程中通过触摸操作滑动屏幕将文字部分移出屏幕(例如滑动到最右侧,直到文字全部移出屏幕),由于文字缩放比例没有变化,故当用户通过触摸操作将文字滑动回来时,一旦文字的左边框与电子设备屏幕的左边框对齐时,则文字一定是铺满全屏的。在步骤S305中,在电子设备的操作系统为Android4.0或更新版本的情况下,从所述缩放管理器对象中反射文字缩放比例对象,并且将网页显示控件的显示缩放比例的值赋予所述文字缩放比例对象。其中,对于Android系统,所述缩放管理器对象可以是mZoomManager对象,该对象可以直接或间接地被WebView控件调用,这样就可以将缩放操作从原本就很复杂的WebView控件中抽离出来,成为较为独立的模块,并被WebView控件(甚至其它的控件)所用。其中,在Android2.3.x或更早版本中,这个Java类就是WebView控件类,即WebView类;而在Android3.0及以后的版本,该对象为WebView控件所直接使用的一个Java类的对象,即ZoomManager类的对象。在步骤S305之后,可以执行步骤S307,其中,从缩放管理器对象中反射设置并启用缩放比例方法以进行调用,并且执行步骤S309,其中执行被继承的网页显示控件的触摸事件方法。另外,在步骤S303中的判断结果为否的情况下,可以直接执行上述步骤S309,即执行被继承的网页显示控件的触摸事件方法。根据本发明的实施例,对于Android系统,所述设置并启用缩放比例方法可以是setZoomScale方法或setNewZoomScale方法,而在步骤S307中调用时传递的参数可以包括:被设置为网页显示控件的显示缩放比例的网页文字缩放比例、允许文字排版(设置为true)、以及允许强制文字排版(设置为true)。在步骤S307中调用了设置并启用缩放比例方法之后,就可以执行步骤S109,即,执行被继承的网页显示控件的触摸事件方法,即原来的触摸事件方法,对于Android系统,也就是调用其父类的onTouchEvent方法以及dispatchTouchEvent方法。这样,就可以实现页面缩放后重新排版、使内容平铺至整个屏幕的功能。图4示意性地图示了根据本发明的实施例的包含各可选步骤的电子设备上网页缩放的方法的流程图。下面将结合图4描述方法100中的各个可选步骤。如图4所示,可选地,根据本发明的实施例,所述电子设备上网页缩放的方法300还可以包括步骤S304:在步骤S305之前,判断电子设备的操作系统是否支持缩放处理器对象。对于Android系统,所述缩放处理器对象可以是mListener对象,该对象是在针对某一控件进行缩放操作时调用的模块,Android系统的mListener对象是缩放处理器类—OnScaleGestureListener类的对象,其包括缩放开始方法、缩放过程方法、以及缩放完成方法,对于mListener对象,它们分别为onScaleBegin方法、onScale方法、以及onScaleEnd方法。以用户在电子设备的触摸屏幕上利用两个手指进行缩放的场景为例,当用户准备双指缩放时,也即当用户放下双指并开始拖动时,调用缩放处理器对象的缩放开始方法;在用户缩放的过程中,调用缩放处理器对象的缩放过程方法;在用户松开双指,预示缩放完成时,调用缩放处理器对象的缩放完成方法。每个支持缩放的控件都可以实现属于自己的缩放处理器对象,WebView控件即是其一。如图4所示,在步骤S304中,在判断为不支持的情况下,可以执行上述步骤S305、步骤S307、以及步骤S309,即将网页文字缩放比例设置为网页显示控件的显示缩放比例,并且从缩放管理器对象中反射设置并启用缩放比例方法以进行调用,并且执行被继承的网页显示控件的触摸事件方法。而在判断为支持的情况下,如图4所示,可以直接执行步骤S309中的执行所述被继承的网页显示控件的触摸事件方法的步骤。如图4所示,可选地,根据本发明的实施例,所述电子设备上网页缩放的方法300还可以包括步骤S304’:在步骤S305之前,将是否启用宽屏浏览对象的值设置为false。对于Android系统,所述是否启用宽屏浏览对象是setUseWideViewPort对象,其值存在于WebView控件设置模块(Android系统中的WebSettings对象)中,通过步骤S304’中的操作,可以避免在放大显示比例后用户通过触摸电子设备的屏幕来移动网页。如图4所示,可选地,根据本发明的实施例,所述电子设备上网页缩放的方法300还可以包括步骤S308:在步骤S307中的从缩放管理器对象中反射设置并启用缩放比例方法以进行调用的步骤之后,将是否启用宽屏浏览对象的值设置为true。通过步骤S308的操作,可以在文字重新排版之后恢复通过触摸操作移动网页的功能。如图4所示,另外,可选地,所述电子设备上网页缩放的方法300在上述步骤S303之前,还可以包括判断当前触摸点的数量是否大于1的步骤S302-1、以及判断网页是否支持缩放功能的步骤S302-2,在这两个步骤中,如果其中任一步骤的判断结果为否,就不做进一步的处理,直接执行步骤S309中的执行所述被继承的网页显示控件的触摸事件方法的步骤。可选地,判断网页是否支持缩放功能的步骤S302-2可以通过如下方式实现:可以获取WebView控件设置模块(Android系统中的WebSettings对象)中的“是否支持缩放”变量,该变量为布尔值,若为true,则表示支持,若为false,则表示不支持缩放功能,结束该判断步骤;从缩放管理器对象中反射“当前网页的最小缩放比例”对象和“当前网页的最大缩放比例”对象以完成获取操作,它们在Android系统中分别为mMinZoomScale对象和mMaxZoomScale对象。通常情况下,在网页的源代码(对用户不可见)中,会有一部分用来告知该网页的缩放比例范围,该值通常情况下不公开,故需要通过反射来获取;然后,可以比较“当前网页的最小缩放比例”对象的值与“当前网页的最大缩放比例”对象的值是否相等,若相等,则直接返回false,表示该网页不支持缩放功能,若不相等,则返回true,表示“是否支持缩放功能”变量的值为true,该网页支持缩放功能。本发明提供了一种电子设备上网页缩放的方法。根据本发明的实施例,继承网页显示控件,以构建定制触摸事件方法,在判断触摸操作为松开n个触摸点中的n-1个触摸点而触发触摸事件方法的情况下,将网页文字缩放比例设置为网页显示控件的显示缩放比例,并且从缩放管理器对象中反射设置并启用缩放比例方法以进行调用,从而在不修改浏览器或其它页面显示程序的内核组件(如Android系统的WebKit组件)的前提下,实现页面缩放后重新排版、使内容平铺至整个屏幕的功能,解决了因放大而无法显示部分内容的问题。而且,本发明的实施例对于操作系统不支持缩放处理器对象的电子设备,同样能够实现上述缩放后重新排版的功能,这样就实现了对于几乎所有电子设备的支持。同时,根据本发明的实施例,可以充分利用新版本的操作系统带来的新特性,例如利用Android4.0及更新版本的硬件加速功能,可以显著提高缩放速度,还可以利用Android4.0及更新版本的高级网页浏览特征等新特性。另外,由于不需要修改浏览器或其它页面显示程序的内核组件,节省了电子设备的存储空间,同时也避免了修改浏览器内核组件带来的风险。与上述的方法300相对应,本发明还提供了一种电子设备上网页缩放的装置500。图5示意性地图示了根据本发明的实施例的电子设备上网页缩放的装置500的框图。参见图5,所述电子设备上网页缩放的装置500主要包括定制触摸事件方法构建模块501、触摸点判断模块503、网页文字缩放比例设置模块505、缩放比例调用模块507、以及触摸事件方法执行模块509。根据本发明的实施例,定制触摸事件方法构建模块501适于继承网页显示控件,以构建定制触摸事件方法;触摸点判断模块503适于判断对电子设备的操作是否为松开n个触摸点中的n-1个触摸点而触发触摸事件方法,其中n为大于或等于2的整数;网页文字缩放比例设置模块505适于在判断结果为是的情况下,将网页文字缩放比例设置为网页显示控件的显示缩放比例;缩放比例调用模块507适于从缩放管理器对象中反射设置并启用缩放比例方法以进行调用;触摸事件方法执行模块509适于执行被继承的网页显示控件的触摸事件方法。根据本发明的实施例,首先,定制触摸事件方法构建模块501继承网页显示控件,以构建定制触摸事件方法。根据本发明的实施例,所述网页显示控件例如可以是Android系统的WebView控件,本发明的范围不限于此,网页显示控件可以是任何能够实现网页显示功能的控件,例如iOS系统的UIWebView控件等。根据本发明的实施例,触摸事件方法例如可以是Android系统的onTouchEvent方法和/或dispatchTouchEvent方法,用户对某一控件的任何触摸操作,Android系统都会触发该控件的触摸处理事件,onTouchEvent方法和dispatchTouchEvent方法带一个参数,用来描述用户当前触摸的情况,在Android系统中是MotionEvent对象,其用来描述例如用户当前触摸点的数量、相应的坐标、以及触摸的状态,如“移动时”、“按下时”、“松开时”等。根据本发明的实施例,定制触摸事件方法构建模块501可以生成一个对象,让其继承网页显示控件,以构建其自己的定制触摸事件方法,例如onTouchEvent方法和dispatchTouchEvent方法。随后,触摸点判断模块503判断对电子设备的操作是否为松开n个触摸点中的n-1个触摸点而触发触摸事件方法,其中n为大于或等于2的整数。以n=2的情况为例,即,假设用户用两根手指触摸电子设备的触摸屏幕,在其中一根手指松开时,就会触发触摸处理事件方法。根据本发明的实施例,对于Android系统,触摸点判断模块503可以利用ACTION_POINTER_UP对象或者ACTION_POINTER_n_UP对象判断是否为松开n个触摸点中的n-1个触摸点而触发触摸事件方法。接下来,在触摸点判断模块503判断为是的情况下,网页文字缩放比例设置模块505将网页文字缩放比例设置为网页显示控件的显示缩放比例。根据本发明的实施例,在电子设备的操作系统为Android2.3.x或更早版本的情况下,网页文字缩放比例设置模块505从所述网页显示控件中反射文字缩放比例对象,并且将网页显示控件的显示缩放比例的值赋予所述文字缩放比例对象。根据本发明的实施例,对于反射操作,网页文字缩放比例设置模块505可以采用Java语言、.Net语言等提供的反射机制来进行操作,将方法或对象从私有属性临时变为公有属性,以供直接使用和修改。本领域技术人员能够理解,网页文字缩放比例设置模块505同样可以采用其它的程序设计语言,以相似的方式将方法或对象从私有属性临时变为公有属性,以达到反射操作的目的。另外,对于Android系统,网页文字缩放比例设置模块505可以通过获取Build.VERSION.SDK_INT对象来得到Android系统的版本号。根据本发明的实施例,在Android系统中,所述文字缩放比例对象是mTextWrapScale对象。网页文字缩放比例设置模块505将网页显示控件的显示缩放比例的值赋予所述文字缩放比例对象,即,使文字缩放比例对象的文字缩放比例的值等于网页显示控件的显示缩放比例的值。其中,文字缩放比例是指“网页宽度”/“文本宽度”,显示缩放比例是指“网页宽度”/“屏幕宽度”。当文字缩放比例的值等于显示缩放比例的值时,文本宽度就等于网页宽度,该文本便可以全屏显示。举例来说,如果文字缩放比例为2,而WebView控件的显示缩放比例为1,表示文字所占屏幕的比例为1/2;而如果WebView控件的显示比例和文字缩放比例均为1,则表示文字所占屏幕比例为1/1,也即全屏显示。另外,即使用户在使用过程中通过触摸操作滑动屏幕将文字部分移出屏幕(例如滑动到最右侧,直到文字全部移出屏幕),由于文字缩放比例没有变化,故当用户通过触摸操作将文字滑动回来时,一旦文字的左边框与电子设备屏幕的左边框对齐时,则文字一定是铺满全屏的。在电子设备的操作系统为Android4.0或更新版本的情况下,网页文字缩放比例设置模块505从所述缩放管理器对象中反射文字缩放比例对象,并且将网页显示控件的显示缩放比例的值赋予所述文字缩放比例对象。其中,对于Android系统,所述缩放管理器对象可以是mZoomManager对象,该对象可以直接或间接地被WebView控件调用,这样就可以将缩放操作从原本就很复杂的WebView控件中抽离出来,成为较为独立的模块,并被WebView控件(甚至其它的控件)所用。其中,在Android2.3.x或更早版本中,这个Java类就是WebView控件类,即WebView类;而在Android3.0及以后的版本,该对象为WebView控件所直接使用的一个Java类的对象,即ZoomManager类的对象。之后,缩放比例调用模块507从缩放管理器对象中反射设置并启用缩放比例方法以进行调用,并且触摸事件方法执行模块509执行被继承的网页显示控件的触摸事件方法。另外,在触摸点判断模块503的判断结果为否的情况下,触摸事件方法执行模块509可以直接执行被继承的网页显示控件的触摸事件方法。根据本发明的实施例,对于Android系统,所述设置并启用缩放比例方法可以是setZoomScale方法或setNewZoomScale方法,而在缩放比例调用模块507执行调用时传递的参数可以包括:被设置为网页显示控件的显示缩放比例的网页文字缩放比例、允许文字排版(设置为true)、以及允许强制文字排版(设置为true)。在缩放比例调用模块507调用了设置并启用缩放比例方法之后,触摸事件方法执行模块509就可以执行被继承的网页显示控件的触摸事件方法,即原来的触摸事件方法,对于Android系统,也就是调用其父类的onTouchEvent方法以及dispatchTouchEvent方法。这样,就可以实现页面缩放后重新排版、使内容平铺至整个屏幕的功能。图6示意性地图示了根据本发明的实施例的包含各可选模块的电子设备上网页缩放的装置的框图。下面将结合图6以及上面的图4对于装置200的各可选模块进行描述。如图6所示,可选地,根据本发明的实施例,所述电子设备上网页缩放的装置600还可以包括缩放处理器支持判断模块604,适于在所述网页文字缩放比例设置模块605将网页文字缩放比例设置为网页显示控件的显示缩放比例之前,判断电子设备的操作系统是否支持缩放处理器对象。对于Android系统,所述缩放处理器对象可以是mListener对象,该对象是在针对某一控件进行缩放操作时调用的模块,Android系统的mListener对象是缩放处理器类—OnScaleGestureListener类的对象,其包括缩放开始方法、缩放过程方法、以及缩放完成方法,对于mListener对象,它们分别为onScaleBegin方法、onScale方法、以及onScaleEnd方法。以用户在电子设备的触摸屏幕上利用两个手指进行缩放的场景为例,当用户准备双指缩放时,也即当用户放下双指并开始拖动时,调用缩放处理器对象的缩放开始方法;在用户缩放的过程中,调用缩放处理器对象的缩放过程方法;在用户松开双指,预示缩放完成时,调用缩放处理器对象的缩放完成方法。每个支持缩放的控件都可以实现属于自己的缩放处理器对象,WebView控件即是其一。在缩放处理器支持判断模块判断为不支持的情况下,网页文字缩放比例设置模块605可以将网页文字缩放比例设置为网页显示控件的显示缩放比例,并且缩放比例调用模块607可以从缩放管理器对象中反射设置并启用缩放比例方法以进行调用,并且触摸事件方法执行模块609执行被继承的网页显示控件的触摸事件方法。而在缩放处理器支持判断模块判断为支持的情况下,触摸事件方法执行模块609可以直接执行所述被继承的网页显示控件的触摸事件方法。如图6所示,可选地,根据本发明的实施例,所述电子设备上网页缩放的装置600还可以包括启用宽屏浏览对象设置模块604’,适于在所述网页文字缩放比例设置模块605将网页文字缩放比例设置为网页显示控件的显示缩放比例之前,将是否启用宽屏浏览对象的值设置为false。对于Android系统,所述是否启用宽屏浏览对象是setUseWideViewPort对象,其值存在于WebView控件设置模块(Android系统中的WebSettings对象)中,通过启用宽屏浏览对象设置模块604’的此操作,可以避免在放大显示比例后用户通过触摸电子设备的屏幕来移动网页。可选地,根据本发明的实施例,启用宽屏浏览对象设置模块604’还适于在所述缩放比例调用模块607从缩放管理器对象中反射设置并启用缩放比例方法以进行调用之后,将是否启用宽屏浏览对象的值设置为true。通过启用宽屏浏览对象设置模块604’的此操作,可以在文字重新排版之后恢复通过触摸操作移动网页的功能。另外,可选地,根据本发明的实施例,所述触摸点判断模块603在判断对电子设备的操作是否为松开n个触摸点中的n-1个触摸点而触发触摸事件方法之前,还可以判断当前触摸点的数量是否大于1、并且判断网页是否支持缩放,在这两次判断中,如果其中任一次的判断结果为否,就不做进一步的处理,触摸事件方法执行模块609就直接执行所述被继承的网页显示控件的触摸事件方法。可选地,所述触摸点判断模块603判断网页是否支持缩放功能可以通过如下方式实现:所述触摸点判断模块603可以获取WebView控件设置模块(Android系统中的WebSettings对象)中的“是否支持缩放”变量,该变量为布尔值,若为true,则表示支持,若为false,则表示不支持缩放功能,结束该判断;所述触摸点判断模块603可以从缩放管理器对象中反射“当前网页的最小缩放比例”对象和“当前网页的最大缩放比例”对象以完成获取操作,它们在Android系统中分别为mMinZoomScale对象和mMaxZoomScale对象。通常情况下,在网页的源代码(对用户不可见)中,会有一部分用来告知该网页的缩放比例范围,该值通常情况下不公开,故需要通过反射来获取;然后,所述触摸点判断模块603可以比较“当前网页的最小缩放比例”对象的值与“当前网页的最大缩放比例”对象的值是否相等,若相等,则直接返回false,表示该网页不支持缩放功能,若不相等,则返回true,表示“是否支持缩放功能”变量的值为true,该网页支持缩放功能。由于上述各设备(装置)实施例与前述各方法实施例相对应,因此不再对各装置实施例进行详细描述。在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。本领域那些技术人员可以理解,可以对实施例中的装置中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个装置中。可以把实施例中的若干模块组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者模块中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的替代特征来代替。此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。本发明的各个装置实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的装置中的一些或者全部模块的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。本发明的实施例公开了A1.一种电子设备上网页缩放的方法,包括以下步骤:继承网页显示控件,以构建定制触摸事件方法;判断对电子设备的操作是否为松开n个触摸点中的n-1个触摸点而触发触摸事件方法,其中n为大于或等于2的整数;在判断结果为是的情况下,将网页文字缩放比例设置为网页显示控件的显示缩放比例;从缩放管理器对象中反射设置并启用缩放比例方法以进行调用;以及执行被继承的网页显示控件的触摸事件方法。A2.如A1所述的方法,其中所述将网页文字缩放比例设置为网页显示控件的显示缩放比例的步骤包括:在电子设备的操作系统为Android2.3.x或更早版本的情况下,从所述网页显示控件中反射文字缩放比例对象,并且将网页显示控件的显示缩放比例的值赋予所述文字缩放比例对象;或者在电子设备的操作系统为Android4.0或更新版本的情况下,从所述缩放管理器对象中反射文字缩放比例对象,并且将网页显示控件的显示缩放比例的值赋予所述文字缩放比例对象。A3.如A1所述的方法,其中在所述判断对电子设备的操作是否为松开n个触摸点中的n-1个触摸点而触发触摸事件方法的步骤中,利用ACTION_POINTER_UP对象或者ACTION_POINTER_n_UP对象判断是否为松开n个触摸点中的n-1个触摸点而触发触摸事件方法。A4.如A1至A3中的任一项所述的方法,还包括步骤:在所述将网页文字缩放比例设置为网页显示控件的显示缩放比例的步骤之前,判断电子设备的操作系统是否支持缩放处理器对象,在不支持的情况下,执行所述将网页文字缩放比例设置为网页显示控件的显示缩放比例的步骤以及所述从缩放管理器对象中反射设置并启用缩放比例方法以进行调用并且执行被继承的网页显示控件的触摸事件方法的步骤;在支持的情况下,执行所述被继承的网页显示控件的触摸事件方法的步骤。A5.如A1至A3中的任一项所述的方法,还包括步骤:在所述将网页文字缩放比例设置为网页显示控件的显示缩放比例的步骤之前,将是否启用宽屏浏览对象的值设置为false;并且在所述从缩放管理器对象中反射设置并启用缩放比例方法以进行调用的步骤之后,将是否启用宽屏浏览对象的值设置为true。A6.如A1至A3中的任一项所述的方法,其中在所述从缩放管理器对象中反射设置并启用缩放比例方法以进行调用的步骤中,调用时传递的参数包括被设置为网页显示控件的显示缩放比例的网页文字缩放比例、允许文字排版、以及允许强制文字排版。A7.如A1至A3中的任一项所述的方法,其中所述网页显示控件是Android系统的WebView控件,所述缩放管理器对象是mZoomManager对象,所述缩放处理器对象是mListener对象,所述文字缩放比例对象是mTextWrapScale对象,所述触摸事件方法包括onTouchEvent方法以及dispatchTouchEvent方法,所述设置并启用缩放比例方法是setZoomScale方法或setNewZoomScale方法,所述是否启用宽屏浏览对象是setUseWideViewPort对象。本发明的实施例还公开了B8.一种电子设备上网页缩放的装置,包括:定制触摸事件方法构建模块,适于继承网页显示控件,以构建定制触摸事件方法;触摸点判断模块,适于判断对电子设备的操作是否为松开n个触摸点中的n-1个触摸点而触发触摸事件方法,其中n为大于或等于2的整数;网页文字缩放比例设置模块,适于在判断结果为是的情况下,将网页文字缩放比例设置为网页显示控件的显示缩放比例;缩放比例调用模块,适于从缩放管理器对象中反射设置并启用缩放比例方法以进行调用;以及触摸事件方法执行模块,适于执行被继承的网页显示控件的触摸事件方法。B9.如B8所述的装置,其中在电子设备的操作系统为Android2.3.x或更早版本的情况下,所述网页文字缩放比例设置模块适于从所述网页显示控件中反射文字缩放比例对象,并且将网页显示控件的显示缩放比例的值赋予所述文字缩放比例对象;或者在电子设备的操作系统为Android4.0或更新版本的情况下,所述网页文字缩放比例设置模块适于从所述缩放管理器对象中反射文字缩放比例对象,并且将网页显示控件的显示缩放比例的值赋予所述文字缩放比例对象。B10.如B8所述的装置,其中所述触摸点判断模块适于利用ACTION_POINTER_UP对象或者ACTION_POINTER_n_UP对象判断是否为松开n个触摸点中的n-1个触摸点而触发触摸事件方法。B11.如B8至B10中的任一项所述的装置,还包括:缩放处理器支持判断模块,适于在所述网页文字缩放比例设置模块将网页文字缩放比例设置为网页显示控件的显示缩放比例之前,判断电子设备的操作系统是否支持缩放处理器对象,在不支持的情况下,所述网页文字缩放比例设置模块将网页文字缩放比例设置为网页显示控件的显示缩放比例,并且缩放比例调用模块从缩放管理器对象中反射设置并启用缩放比例方法以进行调用,并且触摸事件方法执行模块执行被继承的网页显示控件的触摸事件方法;在支持的情况下,触摸事件方法执行模块执行所述被继承的网页显示控件的触摸事件方法。B12.如B8至B10中的任一项所述的装置,还包括:启用宽屏浏览对象设置模块,适于在所述网页文字缩放比例设置模块将网页文字缩放比例设置为网页显示控件的显示缩放比例之前,将是否启用宽屏浏览对象的值设置为false,并且适于在所述缩放比例调用模块从缩放管理器对象中反射设置并启用缩放比例方法以进行调用之后,将是否启用宽屏浏览对象的值设置为true。B13.如B8至B10中的任一项所述的装置,其中在所述缩放比例调用模块从缩放管理器对象中反射设置并启用缩放比例方法以进行调用时,调用时传递的参数包括被设置为网页显示控件的显示缩放比例的网页文字缩放比例、允许文字排版、以及允许强制文字排版。B14.如B8至B10中的任一项所述的装置,其中所述网页显示控件是Android系统的WebView控件,所述缩放管理器对象是mZoomManager对象,所述缩放处理器对象是mListener对象,所述文字缩放比例对象是mTextWrapScale对象,所述触摸事件方法包括onTouchEvent方法以及dispatchTouchEvent方法,所述设置并启用缩放比例方法是setZoomScale方法或setNewZoomScale方法,所述是否启用宽屏浏览对象是setUseWideViewPort对象。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1