一种切换视图的方法及装置制造方法及图纸

技术编号:20622712 阅读:26 留言:0更新日期:2019-03-20 14:29
本申请实施例提供了一种切换视图的方法及装置,涉及互联网技术领域,该方法包括:获取滑动组件监听的滑动事件,然后确定滑动事件的滑动方向和滑动距离,再判断滑动事件的滑动距离是否大于预设阈值,若是,则控制滑动组件将当前视图切换至与滑动方向对应的下一个视图,否则,控制滑动组件显示当前视图。相较于视图切换组件ViewPager切换视图来说,滑动组件RecyclerView可扩展性强,便于增加监听滑动事件的功能,其次,视图切换逻辑简单,能有效提高视图切换的效率,从而提高用户体验。再者,滑动组件RecyclerView代码体积小,开发方便,维护成本低。

A Method and Device for Switching Views

The embodiment of this application provides a method and device for switching views, which relates to the field of Internet technology. The method includes acquiring sliding events monitored by sliding components, determining the sliding direction and distance of sliding events, and then determining whether the sliding distance of sliding events is larger than the preset threshold. If so, the sliding component is controlled to switch the current view to the sliding direction pair. The next view should correspond, otherwise, the control sliding component displays the current view. Compared with view switch component ViewPager switching view, sliding component RecyclerView has strong expansibility and is easy to increase the function of monitoring sliding events. Secondly, the view switch logic is simple, which can effectively improve the efficiency of view switching and thus improve the user experience. Furthermore, the sliding component RecyclerView code is small in size, easy to develop and low in maintenance cost.

【技术实现步骤摘要】
一种切换视图的方法及装置
本专利技术实施例涉及互联网
,尤其涉及一种切换视图的方法及装置。
技术介绍
随着互联网技术的发展,应用程序越来越多,人们对应用程序的要求也越来越高。现有的应用程序采用视图切换组件实现视图切换,由于目前视图切换组件中分段(fragment)分量较重,视图切换组件与自定义视图(view)结合涉及的计算逻辑复杂,因此采用视图切换组件实现视图切换时,执行效率较低,会出现视图切换卡顿以及视图切换不精准的情况,从而影响用户体验。
技术实现思路
由于现有技术中,采用视图切换组件实现视图切换时,执行效率较低,会出现视图切换卡顿以及视图切换不精准的问题,本申请实施例提供了一种切换视图的方法及装置。本申请实施例提供了一种切换视图的方法,该方法包括:获取滑动组件监听的滑动事件;确定所述滑动事件的滑动方向和滑动距离;在所述滑动事件的滑动距离大于预设阈值时,控制所述滑动组件将当前视图切换至与所述滑动方向对应的下一个视图。本申请实施例提供了一种切换视图的装置,该装置包括:获取模块,用于获取滑动组件监听的滑动事件;识别模块,用于确定所述滑动事件的滑动方向和滑动距离;处理模块,用于在所述滑动事件的滑动距离大于预设阈值时,控制所述滑动组件将当前视图切换至与所述滑动方向对应的下一个视图。本申请实施例提供了一种终端设备,包括至少一个处理器、以及至少一个存储器,其中,所述存储器存储有计算机程序,当所述程序被所述处理器执行时,使得所述处理器执行切换视图的方法的步骤。本申请实施例提供了一种计算机可读介质,其存储有可由终端设备执行的计算机程序,当所述程序在终端设备上运行时,使得所述终端设备执行切换视图的方法的步骤。本申请实施例中,由于采用滑动组件监听滑动事件,然后对滑动事件进行分析后,控制滑动组件切换视图,滑动组件接收到控制指令后,获取滑动方向对应的下一个视图并切换,相较于视图切换组件切换视图来说,滑动组件可扩展性强,便于增加监听滑动事件的功能,其次,视图切换逻辑简单,能有效提高视图切换的效率以及视图切换精度,从而提高用户体验。再者,滑动组件代码体积小,开发方便,维护成本低。附图说明为了更清楚地说明本专利技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1为本申请实施例提供的一种应用程序的界面图;图2为本申请实施例提供的一种应用程序的界面图;图3为本申请实施例提供的一种应用程序的界面图;图4为本申请实施例提供的一种切换视图的方法的流程示意图;图5为本申请实施例提供的一种滑动开始事件的坐标示意图;图6为本申请实施例提供的一种滑动结束事件的坐标示意图;图7为本申请实施例提供的一种滑动切换视图的示意图;图8为本申请实施例提供的一种滑动切换视图的示意图;图9为本申请实施例提供的一种滑动切换视图的示意图;图10为本申请实施例提供的一种滑动切换视图的示意图;图11为本申请实施例提供的一种滑动切换视图的示意图;图12为本申请实施例提供的一种应用程序的界面图;图13为本申请实施例提供的一种应用程序的界面图;图14为本申请实施例提供的一种应用程序的界面图;图15为本申请实施例提供的一种切换视图的装置的结构示意图;图16为本申请实施例提供的一种终端设备的结构示意图。具体实施方式为了使本专利技术的目的、技术方案及有益效果更加清楚明白,以下结合附图及实施例,对本专利技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。为了方便理解,下面对本专利技术实施例中涉及的名词进行解释。ViewPager:Android原生视图切换组件。RecyclerView:Android原生视图滑动组件,一个用于大量数据展示的组件,flexible(可扩展性)是RecyclerView的特点,RecyclerView能够实现横向滚动ListView、横向滚动GridView、瀑布流控件等的功能。RecyclerView主要包括四部分,分别为:LayoutManager(布局管理器)、Adapter(适配器)、ItemDecoration(间隔样式)以及ItemAnimator(动画)。LayoutManager负责RecyclerView的布局,其中包含了Item(项目)View的获取与回收。RecyclerView提供了三种布局管理器,分别为LinerLayoutManager、GridLayoutManager以及StaggeredGridLayoutManager。LinerLayoutManager用于以垂直或者水平列表方式展示Item。GridLayoutManager用于以网格方式展示Item。StaggeredGridLayoutManager用于以瀑布流方式展示Item。Adapter用于为RecyclerView提供数据。ItemDecoration(间隔样式)用于添加Item之间的分割线。ItemAnimator(动画)用于添加、删除、移动、改变Item动画,RecyclerView提供了默认的ItemAnimator实现类为DefaultItemAnimator。在具体实践过程中,利用视图切换组件ViewPager和自定义View的方式来实现视图横向滑动,但是ViewPager本身是一个体量很大结构很复杂的Android组件,将ViewPager与自定义View结合涉及的计算逻辑复杂,从而导致切换视图的执行效率低,影响页面的加载效率,有时还会出现页面卡顿的情况,从而影响用户体验。为此,本专利技术实施例的视图切换方法和装置采用其他视图切换组件来切换视图,具体过程为:获取滑动组件监听的滑动事件,然后确定滑动事件的滑动方向和滑动距离,在滑动事件的滑动距离大于预设阈值时,控制滑动组件将当前视图切换至与滑动方向对应的下一个视图。上述滑动组件可以是RecyclerView,相较于ViewPager,其内存管理方式对于加载多张布局较复杂的视觉,也能保持在很低的内存水平。另外RecyclerView采用专门的类控制视图的显示,比ViewPager切换视图的逻辑简单。RecyclerView的滑动逻辑中带有fling(阻尼)效果,fling效果指用户手指在屏幕上快速滑动后离开屏幕,视图继续滑动一段距离,然后慢慢停止滑动的效果。这种fling效果不能保证每次只切换一张视图,故不适用于左右滑动切换视图的场景。因此,本申请实施例中,预先屏蔽RecyclerView原有的滑动逻辑,然后在RecyclerView中添加滑动事件监听。当用户手指在屏幕上滑动时,RecyclerView监听到滑动事件,然后通知切换视图的装置。切换视图的装置获取RecyclerView监听的滑动事件,确定滑动事件的滑动方向和滑动距离。判断滑动事件的滑动距离是否大于预设阈值;若是,则控制RecyclerView将当前视图切换至与滑动方向对应的下一个视图;否则,控制RecyclerView显示当前视图。由于采用RecyclerView监听滑动事件,然后对滑动事件进行分析后,控制RecyclerVi本文档来自技高网...

【技术保护点】
1.一种切换视图的方法,其特征在于,包括:获取滑动组件监听的滑动事件;确定所述滑动事件的滑动方向和滑动距离;在所述滑动事件的滑动距离大于预设阈值时,控制所述滑动组件将当前视图切换至与所述滑动方向对应的下一个视图。

【技术特征摘要】
1.一种切换视图的方法,其特征在于,包括:获取滑动组件监听的滑动事件;确定所述滑动事件的滑动方向和滑动距离;在所述滑动事件的滑动距离大于预设阈值时,控制所述滑动组件将当前视图切换至与所述滑动方向对应的下一个视图。2.如权利要求1所述的方法,其特征在于,还包括:控制所述滑动组件将所述当前视图和与所述滑动方向对应的下一个视图向所述滑动方向滑动第一距离,所述第一距离为所述滑动事件的滑动距离。3.如权利要求2所述的方法,其特征在于,所述控制所述滑动组件将当前视图切换至与所述滑动方向对应的下一个视图,包括:控制所述滑动组件将所述当前视图和与所述滑动方向对应的下一个视图向所述滑动方向滑动第二距离,所述第二距离为所述当前视图的宽度与所述第一距离的差值。4.如权利要求1所述的方法,其特征在于,所述控制所述滑动组件将当前视图切换至与所述滑动方向对应的下一个视图,包括:控制所述滑动组件从配置文件中读取预设的切换速度信息以及切换动画信息;控制所述滑动组件根据所述切换速度信息以及所述切换动画信息将当前视图切换至与所述滑动方向对应的下一个视图。5.如权利要求1至4任一所述的方法,其特征在于,所述滑动事件包括滑动开始事件和滑动结束事件;所述确定所述滑动事件的滑动方向和滑动距离,包括:根据所述滑动结束事件的坐标与所述滑动开始事件的坐标的差值确定所述滑动方向和所述滑动距离。6.一种切换视图的装置,其特征在于,包括:获取模块,用于获取滑动组件监听的滑动事件;识别模块,用于确定所述滑动事件的滑动方向和滑动距离;处理模块,用...

【专利技术属性】
技术研发人员:张祖元
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1