一种切换对象的方法和装置与流程

文档序号:12824264阅读:282来源:国知局
一种切换对象的方法和装置与流程

【技术领域】

本发明涉及计算机应用技术领域,尤其涉及一种切换对象的方法和装置。



背景技术:

现有技术中,由于屏幕尺寸的限制,app应用的显示界面通常会做的很长而超过了屏幕一次可以显示的范围,因此用户想要查看界面的全部内容时,会将界面自下而上滑动,该滑动也可称为上拉,通过上述方式,可以使用户查看界面底部的内容。

为了引起用户的关注,在整个界面的内容排布中,通常会将重要的或者用户想要获得的内容放在界面的上部或者中部显示,以方便用户观看和查找,而例如广告或猜你喜欢等这种为用户推荐的信息,由于上述推荐的信息并不是用户想要主动查看的内容,因此不会放在界面显著的位置,而是放在界面的底部,以免造成用户反感或引起用户查看其主动查看内容的不便。

由于界面底部通常放置有用户并不会主动想获取的内容,因此现有技术中当用户翻看到app界面底部时,最多仅有一个上拉反弹效果,而不会做其他处理,因此对于有限的屏幕尺寸来说,浪费了屏幕上宝贵的应用界面资源。



技术实现要素:

本发明提供了一种切换对象的方法和装置,以便于提高应用界面的内容展示率,节约宝贵的界面资源。

具体技术方案如下:

本发明提供了一种切换对象的方法,所述方法包括:

当主视图底部边界显示在屏幕上时,判断捕捉到的操作手势是否为切换手 势;

如果是,则切换当前屏幕上应用主视图包含的子视图所显示的对象数据。

根据本发明一优选实施例,判断捕捉到的操作手势是否为切换手势包括:

捕捉并确定从主视图底部边界显示在屏幕上开始至滑动手势结束对应的滑动手势在屏幕竖直方向上的偏移量是否超过预设的偏移阈值;

如果超过所述预设的偏移阈值,则确定捕捉到的操作手势是切换手势。

根据本发明一优选实施例,所述切换当前屏幕上应用主视图包含的子视图所显示的对象数据包括:

从服务器或者本地缓存获取更新的对象数据;

利用更新的对象数据对待显示于子视图的对象数据进行刷新;

将所述刷新的对象数据显示于所述子视图。

根据本发明一优选实施例,所述从服务器或者本地缓存获取更新的对象数据包括:

将本地缓存的对象数据的更新时间发送给所述服务器;

接收所述服务器依据接收到的更新时间确定下发的更新的对象数据;

如果从服务器未接收到更新的对象数据,则从本地缓存获取所述子视图中更新的对象数据。

根据本发明一优选实施例,所述更新的对象数据是服务器随机下发的,或者从本地缓存随机获取的。

根据本发明一优选实施例,所述方法还包括:在所述子视图显示对象数据时,依据预设的展示模型,将所述对象数据填充至所述子视图,其中展示模型包含所述对象数据在子视图中的图像属性和/或文本属性。

根据本发明一优选实施例,所述对象数据包括广告数据、为用户推荐的内容或者其他主动为用户提供的数据。

本发明还提供了一种切换对象的装置,所述装置包括:

处理单元,用于当主视图底部边界显示在屏幕上时,判断捕捉到的操作手势是否为切换手势;

切换单元,用于当判断捕捉到的操作手势是切换手势时,切换当前屏幕上应用主视图包含的子视图所显示的对象数据。

根据本发明一优选实施例,所述处理单元通过执行以下操作以判断捕捉到的操作手势是否为切换手势:

捕捉并确定从主视图底部边界显示在屏幕上开始至滑动手势结束对应的滑动手势在屏幕竖直方向上的偏移量是否超过预设的偏移阈值;

如果超过所述预设的偏移阈值,则确定捕捉到的操作手势是切换手势。

根据本发明一优选实施例,所述切换单元包括:

获取单元,用于从服务器或者本地缓存获取更新的对象数据;

刷新单元,用于利用更新的对象数据对待显示于子视图的对象数据进行刷新;

展示单元,用于将所述刷新的对象数据显示于所述子视图。

根据本发明一优选实施例,所述获取单元通过执行以下操作以从服务器或者本地缓存获取更新的对象数据:

将本地缓存的对象数据的更新时间发送给所述服务器;

接收所述服务器依据接收到的更新时间确定下发的更新的对象数据;

如果从服务器未接收到更新的对象数据,则从本地缓存获取所述子视图中更新的对象数据。

根据本发明一优选实施例,所述更新的对象数据是服务器随机下发的,或者从本地缓存随机获取的。

根据本发明一优选实施例,所述切换单元在所述子视图显示对象数据时,依据预设的展示模型,将所述对象数据填充至所述子视图,其中展示模型包含所述对象数据在子视图中的图像属性和/或文本属性。

根据本发明一优选实施例,所述对象数据包括广告数据、为用户推荐的内容或者其他主动为用户提供的数据。

由以上技术方案可以看出,本发明充分利用了在应用的主视图底部的区域,在该区域的子视图中通过响应于切换手势而为用户提供不同的对象数据, 增加了对象数据的展示率。

【附图说明】

图1为本发明实施例一提供的一种切换对象的方法流程图;

图2为本发明实施例二提供的一种切换对象的装置结构示意图;

图3a-3d为实施本发明的方法和装置的实施效果图,其中:

图3a为用户往上滑动时主视图的效果图,

图3b为到达主视图底部继续滑动时的效果图,

图3c为松手时的效果图,

图3d为根据操作手势对子视图内容进行切换的效果图。

【具体实施方式】

为了使本发明的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本发明进行详细描述。

实施例一

图1为本发明实施例一提供的一种切换对象的方法流程图。如图1所示,该方法包括以下步骤:

101、捕捉并确定屏幕上的切换手势。

该步骤中,当确定主视图底部边界显示在屏幕上时,例如通过滑动手势,使得主视图逐渐向上移动,至主视图底部边界显示于屏幕上,若在这种状态下捕捉到屏幕上的操作手势,则判断捕捉到的操作手势是否为切换手势,从而依据切换手势触发应用主视图包含的子视图所显示的对象数据的切换。

其中应用主视图以及子视图均在同一应用界面中并显示在终端屏幕上。

该终端可以包括手机、掌上电脑、个人通讯助理机等便携式设备。

判断捕捉到的操作手势是否为切换手势可以包括:

捕捉并确定从主视图底部边界显示在屏幕上开始至滑动手势结束对应的滑动手势在屏幕竖直方向上的偏移量是否超过预设的偏移阈值;如果超过所述预 设的偏移阈值,则确定捕捉到的操作手势是切换手势。

具体地:

当确定主视图底部边界显示在屏幕上时,

若继续监控到手势的触摸事件,则可以获取手指在屏幕上点击的y坐标,包括主视图底部边界刚显示在屏幕上时对应的手指在屏幕上的y坐标以及松开时的y坐标,根据两个y坐标的差值可以确定手指滑动的距离,如果手指滑动的距离超过预设的偏移阈值,则认为应用中在屏幕上显示的主视图滚动到底部后,还在对主视图进行继续查看的惯性的滑动操作,确定捕捉到切换手势。

优选地,对于当主视图地图边界显示于屏幕底部后的滑动可以引起主视图底部边界相对于显示屏幕底部的偏移产生偏移的动画效果。

当确定为切换手势,则可以进入步骤102,以获取需要在子视图中切换的更新的对象数据。

另外,虽然通常情况下,为了滑动到主视图的底部所使用的都是对界面的向上滑动,或者称为上拉操作。但是,本实施例并不对滑动手势的方向进行严格限制,相对于屏幕不论是向上滑动或者向下滑动或者其他操作,只要能滑动到主视图的底部均在本发明的保护范围内。

在ios实现中,可以通过uiscrollview来实现主视图的滑动效果,并且获得滑动偏移。

102、根据切换手势的触发,从服务器或者本地缓存获取更新的对象数据。

具体地,可以通过网络从服务器获取最新对象数据并缓存到本地,该对象数据可以是利用app向用户主动推送的包括广告数据、推测用户喜欢的偏好数据、或者其他主动为用户提供的推荐的对象数据。

该推荐的对象数据可以是针对主视图上的内容而推送的与主视图内容相关的数据,或者是基于用户简档为不同用户生成的特定数据,或者基于其他目的为用户推荐的数据。

优选地,考虑到运行app的终端的存储能力,可以只获取对象数据的图像链接或者字符串指针等,以在需要具体的图像或字符串时通过链接或指针从服务器中调取具体数据,从而减少获取的对象数据对本地存储带来的负担。

另外,本实施例中可以在确定出切换手势后从服务器获取数据,或者也可以选择其他获取对象的时机,例如可以在预定的时间间隔或者系统空闲时从服务器获取数据并缓存于本地。

服务器下发给客户终端对象数据时,可以同时将当前时间传至客户终端。终端缓存对象数据时,可以将更新时间一并进行缓存。当下次获取对象数据时,将本地缓存的对象数据的更新时间发送给服务器,服务器依据接收到的更新时间确定下发的更新的对象数据并传送给客户终端。

例如服务器可以将接收的更新时间与其维护的对象数据的更新时间进行比较,如果其维护的对象数据的更新时间晚于所接收的更新时间(假设维护的对象数据的更新时间为16年12月24日20点,而接收的更新时间为16年12月23日3点),则确定对象数据有更新,将更新的对象数据传送给客户终端。否则,不为客户终端提供更新的对象数据。

当从服务器未接收到更新的对象数据,则从本地缓存获取所述子视图中更新的对象数据。

其中,从服务器未接收到更新的对象数据的情况可以包括:服务器确定对象数据没有更新,因此未向客户终端提供更新的对象数据;或者,也可以是由于客户终端自身的原因,例如客户终端不能连网、没有权限获取服务器数据等。从而当从服务器未接收到更新的对象数据,则从本地缓存获取所述子视图中更新的对象数据。

具体地,当客户终端此次从服务器未接收到更新的对象数据,则可以从本地缓存获取前一次直至前n次从服务器获取的更新的对象数据。其中n为大于等于1的正整数。

将对象数据缓存至本地,以在服务器确定相对于前一次获取的对象数据没有新的更新时从本地缓存获取,可以减少多次向服务器请求数据而消耗过 多的流量。

并且考虑到节省流量,还可以采用自定义二进制协议的方式压缩对象数据以在网络传输压缩后的数据。

另外,不论是从服务器还是本地缓存获取更新的对象数据,该更新的对象数据是服务器随机下发的,或者是从本地缓存随机获取的。

具体地,由于在子视图中所显示的对象数据的个数有限,例如子视图中仅能显示m个对象,而服务器中维护的有更新的对象数据数量很大,因此在从服务器获取对象数据时,可以由服务器从有更新的对象数据中随机获取p个对象数据并下发到客户端,其中p为预设的正整数且p大于等于m,或者从本地缓存中随机获取p个对象数据。

例如,可以根据需要预设p为10,因此每次仅从服务器或者本地缓存随机获取10个更新的对象数据。

在ios实现上,可以用afnetworking网络框架来实现对象数据的获取。

103、刷新要显示的对象数据。

由于子视图中虽然能够显示对象数据,但当对象数据发生更新时,子视图并不会主动刷新要切换显示的对象数据,因此该步骤可以利用更新的对象数据对待显示于子视图的对象数据进行刷新,即调取从服务器或者缓存中获取的对象数据,并将调取的对象数据作为将要展示的数据以提供给子视图以便在其中显示切换的对象数据。即该步骤中调取的数据可以作为子视图要显示的对象数据的数据源,以为子视图提供需要切换的数据。

另外,该步骤可以从服务器提供的对象数据或者存入缓存的对象数据中随机抽取要显示的对象数据。

例如,假设已经从服务器或者本地缓存中获取了p个对象数据,则获取到对象数据后,该步骤中,可以从获取的p个对象数据中随机调取其中的w个对象数据以提供给子视图展现,该w个对象数据就是子视图中能够提供的切换对象的数目。例如子视图中提供了三个显示对象数据,则可以随机选择三个对象数据以提供给子视图以便切换。从而利用获取的对象数据替换在子 视图中当前显示的对象数据。

当完成对象数据的调取后,即数据源已经更新,则可以利用获取的对象数据刷新在子视图中当前显示的对象数据。从而做好数据准备以能够在子视图中重新绘制对象的用户接口ui元素。

在ios实现中,可以用nsnotification或者delegate来实现。

104、将更新的对象数据显示于子视图。

该步骤中,在子视图显示对象数据时,可以根据刷新的最新的对象数据以及依据预设的展示模型,将对象数据填充至该子视图。

其中可以在中的屏幕上展示应用的主视图以及子视图,应用的主视图以及子视图均在同一应用界面中,且子视图位于主视图的底部。

在子视图中的对象数据进行切换的过程中,并不会对主视图中显示的对象造成影响。

可以预先根据设计图来对对象数据进行ui建模以构建展示模型,其中该展示模型可以包含对象数据在子视图中的图像属性和/或文本属性。

以广告数据作为对象数据为例,对象数据的图像属性可以包括广告将要展示的图像,而文本属性可以包括广告宣传语等。

具体地,可以从调取的对象数据中获取相应的图像或文字数据,其可以对要显示的图像的组合方式,图层信息、要展现在屏幕的上图像像素、文字颜色等进行预先定义,通过展示模型可以将调取的数据按照预先的定义进行渲染而得到最终展现在屏幕上的对象数据。

ios中可以用uiview来实现。

值得说明的是,本实施例中虽然均以ios实现作为举例,但是对于其他操作系统,也存在类似的方法来实现相应的处理。

可选地,在利用操作手势将主视图滑动到到视图底部且继续滑动时,可以为主视图增加上拉反弹效果。

实施例二、

图2为本发明实施例二提供的一种切换对象的装置结构示意图。如图2 所示,该装置包括切换单元200,用于切换对象数据,以及处理单元201,用于捕捉切换手势;其中切换单元200又可以进一步包括获取单元202、刷新单元203和展示单元204,以下对各单元进行详细描述:

处理单元201,用于捕捉并确定屏幕上的切换手势。

其中,当确定主视图底部边界显示在屏幕上时,例如通过滑动手势,使得主视图逐渐向上移动,至主视图底部边界显示于屏幕上,若在这种状态下捕捉到屏幕上的操作手势,则判断捕捉到的操作手势是否为切换手势,从而依据切换手势触发应用主视图包含的子视图所显示的对象数据的切换。

其中应用主视图以及子视图均在同一应用界面中并显示在终端屏幕上。

该终端可以包括手机、掌上电脑、个人通讯助理机等便携式设备。

处理单元201可以通过执行以下操作以判断捕捉到的操作手势是否为切换手势:

捕捉并确定由滑动手势引起的主视图底部边界相对于显示屏幕底部的偏移产生的偏移量是否超过预设的偏移阈值;

如果超过所述预设的偏移阈值,则确定捕捉到的操作手势是切换手势。

具体地:

当处理单元201确定主视图底部边界显示在屏幕上时,若继续监控到手势的触摸事件,则可以获取手指在屏幕上点击的y坐标,包括主视图底部边界刚显示在屏幕上时对应的手指在屏幕上的y坐标以及松开时的y坐标,

根据两个y坐标的差值可以确定手指滑动的距离,根据两个y坐标的差值可以确定手指滑动的距离,如果手指滑动的距离超过预设的偏移阈值,则认为应用中在屏幕上显示的主视图滚动到底部后,还在对主视图进行继续查看的惯性的滑动操作,确定捕捉到切换手势。

优选地,对于当主视图地图边界显示于屏幕底部后的滑动可以引起主视图底部边界相对于显示屏幕底部的偏移产生偏移的动画效果。

当确定为切换手势,则可以触发获取单元202以获取需要在子视图中切换的更新的对象数据。

另外,虽然通常情况下,为了滑动到主视图的底部所使用的都是对界面的向上滑动,或者称为上拉操作。但是,本实施例并不对滑动手势的方向进行严格限制,相对于屏幕不论是向上滑动或者向下滑动或者其他操作,只要能滑动到主视图的底部均在本发明的保护范围内。

在ios实现中,可以通过uiscrollview来实现主视图的滑动效果,并且获得滑动偏移。

获取单元202,用于根据切换手势的触发,从服务器或者本地缓存获取更新的对象数据。

具体地,获取单元202可以通过网络从服务器获取最新对象数据并缓存到本地,该对象数据可以是利用app向用户主动推送的包括广告数据、推测用户喜欢的偏好数据、或者其他主动为用户提供的推荐的对象数据。

该推荐的对象数据可以是针对主视图上的内容而推送的与主视图内容相关的数据,或者是基于用户简档为不同用户生成的特定数据,或者基于其他目的为用户推荐的数据。

优选地,考虑到运行app的终端的存储能力,可以只获取对象数据的图像链接或者字符串指针等,以在需要具体的图像或字符串时通过链接或指针从服务器中调取具体数据,从而减少获取的对象数据对本地存储带来的负担。

另外,本实施例中可以在确定出切换手势后从服务器获取数据,或者也可以选择其他获取对象的时机,例如可以在预定的时间间隔或者系统空闲时从服务器获取数据并缓存于本地。

服务器下发给客户终端对象数据时,可以同时将当前时间传至客户终端。客户终端缓存对象数据时,可以将更新时间一并进行缓存。当下次获取对象数据时,将本地缓存的对象数据的更新时间发送给服务器,服务器依据接收到的更新时间确定下发的更新的对象数据并传送给客户终端。

例如服务器可以将接收的更新时间与其维护的对象数据的更新时间进行比较,如果其维护的对象数据的更新时间晚于所接收的更新时间(假设维护的对象数据的更新时间为16年12月24日20点,而接收的更新时间为16 年12月23日3点),则确定对象数据有更新,将更新的对象数据传送给客户终端。否则,不为客户终端提供更新的对象数据。

当从服务器未接收到更新的对象数据,则从本地缓存获取所述子视图中更新的对象数据。

其中,从服务器未接收到更新的对象数据的情况可以包括:服务器确定对象数据没有更新,因此未向客户终端提供更新的对象数据;或者,也可以是由于客户终端自身的原因,例如客户终端不能连网、没有权限获取服务器数据等。从而当从服务器未接收到更新的对象数据,则从本地缓存获取所述子视图中更新的对象数据。

具体地,当客户终端此次从服务器未接收到更新的对象数据,则可以从本地缓存获取前一次直至前n次从服务器获取的更新的对象数据。其中n为大于等于1的正整数。

将对象数据缓存至本地,以在服务器确定相对于前一次获取的对象数据没有新的更新时从本地缓存获取,可以减少多次向服务器请求数据而消耗过多的流量。

并且考虑到节省流量,还可以采用自定义二进制协议的方式压缩对象数据以在网络传输压缩后的数据。

另外,不论是从服务器还是本地缓存获取更新的对象数据,该更新的对象数据是服务器随机下发的,或者是从本地缓存随机获取的。

具体地,由于在子视图中所显示的对象数据的个数有限,例如子视图中仅能显示m个对象,而服务器中维护的有更新的对象数据数量很大,因此在从服务器获取对象数据时,可以由服务器从有更新的对象数据中随机获取p个对象数据并下发到客户端,其中p为预设的正整数且p大于等于m,或者从本地缓存中随机获取p个对象数据。

在ios实现上,可以用afnetworking网络框架来实现对象数据的获取。

刷新单元203,用于刷新要显示的对象数据。

由于展示单元204在展示数据时并不会主动刷新要切换显示的对象数 据,因此刷新单元203可以利用更新的对象数据对待显示于子视图的对象数据进行刷新,即调取从服务器或者缓存中获取的对象数据,并将调取的对象数据作为将要展示的数据以提供给展示单元204以在子视图显示。即刷新单元203可以作为展示单元204的数据源,以为展示单元204提供需要切换的数据。

另外,刷新单元203可以从服务器提供的对象数据或者存入缓存的对象数据中随机抽取要显示的对象数据。

例如,假设已经从服务器或者本地缓存中获取了p个对象数据,则获取到对象数据后,该步骤中,可以从获取的p个对象数据中随机调取其中的w个对象数据以提供给子视图展现,该w个对象数据就是子视图中能够提供的切换对象的数目。例如子视图中提供了三个显示对象数据,则可以随机选择三个对象数据以提供给子视图以便切换。从而利用获取的对象数据替换在子视图中当前显示的对象数据。

当刷新单元203完成对象数据的调取后,即数据源已经更新,则可以利用获取的对象数据刷新在子视图中当前显示的对象数据。从而做好数据准备以能够在展示单元204中重新绘制对象的用户接口ui元素。

在ios实现中,可以用nsnotification或者delegate来实现。

展示单元204,用于将更新的对象数据显示于子视图。

展示单元204在子视图显示对象数据时,可以根据刷新单元203刷新的最新的对象数据以及依据预设的展示模型,将对象数据填充至该子视图。

其中展示单元可以展示应用的主视图以及子视图,应用的主视图以及子视图均在同一应用界面中并显示在终端屏幕上,且子视图位于主视图的底部。

在子视图中的对象数据进行切换的过程中,并不会对主视图中显示的对象造成影响。

展示单元204可以预先根据设计图来对对象数据进行ui建模以构建展示模型,其中该展示模型可以包含对象数据在子视图中的图像属性和/或文本属性。

以广告数据作为对象数据为例,对象数据的图像属性可以包括广告将要展示的图像,而文本属性可以包括广告宣传语等。

具体地,展示模型可以从刷新单元203调取的对象数据中获取相应的图像或文字数据,其可以对要显示的图像的组合方式,图层信息、要展现在屏幕的上图像像素、文字颜色等进行预先定义,通过展示模型可以将调取的数据按照预先的定义进行渲染而得到最终展现在屏幕上的对象数据。

ios中可以用uiview来实现。

值得说明的是,本实施例中虽然均以ios实现作为举例,但是对于其他操作系统,也存在类似的方法来实现相应的处理。

可选地,在利用操作手势将主视图滑动到到视图底部且继续滑动时,可以为主视图增加上拉反弹效果。

图3a-3d为实施本发明的方法和装置的实施效果图,其中,图3a为用户往上滑动时主视图的效果图,图3b为到达主视图底部继续滑动时的效果图,图3c为松手时的效果图,图3d为根据操作手势对子视图内容进行切换的效果图。其中3a-3d中所显示的主视图底部的为用于显示广告信息或猜你喜欢等推荐的对象数据的子视图(图3b中方框所划定的部分)。由图3a-3d所示,当通过向上滑动操作使主视图底部边界显示在屏幕上时,如果继续滑动,确定捕捉到的滑动手势是切换手势,此时,切换当前屏幕上位于主视图底部边界的子视图所显示的作为对象数据的广告数据。

本发明的方法和装置由于有效地利用了主视图界面底部的空间的空白,可以达到如下的技术效果:

(1)实现了当用户查看到界面底部时,根据操作手势主动为用户推送广告或猜你喜欢等推荐的对象信息,在增加了为用户推荐内容的推荐次数的同时不会引起用户反感。即当捕捉到用户对主视图底部的切换操作后,界面内容自动刷新一次,增加了内容(广告等)展示率。

(2)创新的利用了界面底端来切换对象数据,增强了界面丰富性。

在本发明所提供的几个实施例中,应该理解到,所揭露的方法和装置, 可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1