基于安卓动画的用户交互方法、服务器、介质及系统
文献发布时间:2023-06-19 10:00:31
技术领域
本发明涉及计算机技术领域,具体涉及一种基于安卓动画的用户交互方法、服务器、介质及系统。
背景技术
当用户通过手势操作用户界面(例如APP界面等)时,用户总是希望界面的动态走向更符合手指的运动,从而感觉是自己控制了界面的动向,而不是机械化的跳转。同时,用户也总是期望收到预期之外的惊喜,可以是帅气的、卖萌的或者有些物理属性的,总之知道产品是有生命力的。为了满足用户的这些需求,开发人员(例如产品、交互、设计、程序员或测试等)都在不断努力打造更加优秀的产品,但总有一些无法避免的问题(例如BUG、外部条件不给力等)造成产品体验下降,从而降低了用户对产品的体验效果。
发明内容
针对现有技术中的技术缺陷,本发明实施例的目的在于提供一种基于安卓动画的用户交互方法、服务器、介质及系统。
为实现上述目的,第一方面,本发明实施例提供了一种基于安卓动画的用户交互方法,包括:
获取用户需求;所述用户需求由用户操作客户端的任意应用程序界面所得;
对所述用户需求进行分析,以得到动画需求;
根据所述动画需求生成动画效果,并将所述动画效果推送至所述应用程序界面,以展示给用户。
其中,所述动画需求包括补间动画和属性动画;所述动画效果包括补间动画效果和属性动画效果,根据所述动画需求生成动画效果,具体包括:
根据所述动画需求,采用补间动画技术或属性动画技术,生成所述补间动画效果或属性动画效果。
第二方面,本发明实施例提供了一种服务器,包括处理器、输入设备、输出设备和存储器,所述处理器、输入设备、输出设备和存储器相互连接,其中,所述存储器用于存储计算机程序,所述计算机程序包括程序指令,所述处理器被配置用于调用所述程序指令,执行上述第一方面的方法。
第三方面,本发明实施例提供了一种计算机可读存储介质,存储有计算机程序,其中,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行上述第一方面的方法。
第四方面,本发明实施例提供了另一种服务器,包括:
获取单元,用于获取用户需求;所述用户需求由用户操作客户端的任意应用程序界面所得;
分析单元,用于对所述用户需求进行分析,以得到动画需求;
生成单元,用于根据所述动画需求生成动画效果;
推送单元,用于将所述动画效果推送至所述应用程序界面,以展示给用户。
第五方面,本发明实施例提供了一种基于安卓动画的用户交互系统,包括相互通信的安卓客户端和服务器。其中,所述服务器如第二或第四方面所述。
实施本发明实施例,开发人员根据用户需求生成动画效果,并将该动画效果推送至应用程序界面,以展示给用户;即,本发明实施例可根据用户需求进行定制化的动画设计,从而提高了用户对产品的体验效果。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍。
图1是本发明实施例提供的基于安卓动画的用户交互方法的流程图;
图2是本发明实施例提供的基于安卓动画的用户交互系统的结构图;
图3是图2所示的服务器的一种结构示意图;
图4是图2所示的服务器的另一种结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为更好地理解本发明实施例,先对所涉及的相关技术内容进行如下描述:
对于动画的工作原理主要涉及到的是基础动画和属性动画的实现。Tween动画,这种实现方式可以使视图组件移动、放大、缩小以及产生透明度的变化。
Animation主要代表动画类型运行状态。
Transformation是对动画的计算和保存。
本发明实施例中主要涉及涉及补间动画(Tween动画)和属性动画。
其中,补间动画又可以分为四种形式,分别是alpha(淡入淡出),translate(位移),scale(缩放大小),rotate(旋转)。补间动画的实现,一般会采用xml文件的形式;代码会更容易书写和阅读,同时也更容易复用。Interpolator主要作用是可以控制动画的变化速率,就是动画进行的快慢节奏。Android系统已经为我们提供了一些Interpolator,比如accelerate_decelerate_interpolator,accelerate_interpolator等。更多的interpolator及其含义可以在Android SDK中查看。同时这个Interpolator也是可以自定义的,pivot这个属性主要是在translate和scale动画中,这两种动画都牵扯到view的“物理位置“发生变化,所以需要一个参考点。而pivotX和pivotY就共同决定了这个点;它的值可以是float或者是百分比数值。
属性动画,顾名思义它是对于对象属性的动画。因此,所有补间动画的内容,都可以通过属性动画实现。属性动画的运行机制是通过不断地对值进行操作来实现的,而初始值和结束值之间的动画过渡就是由ValueAnimator这个类来负责计算的。它的内部使用一种时间循环的机制来计算值与值之间的动画过渡,我们只需要将初始值和结束值提供给ValueAnimator,并且告诉它动画所需运行的时长,那么ValueAnimator就会自动帮我们完成从初始值平滑地过渡到结束值这样的效果。除此之外,ValueAnimator还负责管理动画的播放次数、播放模式、以及对动画设置监听器等。
PointSinEvaluator继承了TypeEvaluator类,并实现了他唯一的方法evaluate;这个方法有三个参数,第一个参数fraction代表当前动画完成的百分比,这个值是如何变化的后面还会提到;第二个和第三个参数代表动画的初始值和结束值。这里我们的逻辑很简单,x的值随着fraction不断变化,并最终达到结束值;y的值就是当前x值所对应的sin(x)值,然后用x和y产生一个新的点(Point对象)返回。
这里,我们使用ObjectAnimator实现对color属性的值按照ArgbEvaluator这个类的规律在给定的颜色值之间变化,这个ArgbEvaluator和我们之前定义的PointSinEvaluator一样,都是决定动画如何从初始值过渡到结束值的,只不过这个类是系统自带的,我们直接拿来用就可以,他可以实现各种颜色间的自由过渡。
对radius这个属性使用了ValueAnimator,使用了其ofFloat方法实现了一系列float值的变化;同时为其添加了动画变化的监听器,在属性值更新的过程中,我们可以将变化的结果赋给radius,这样就实现了半径动态的变化。这里radius也可以使用和color相同的方式,只需要把ArgbEvaluator替换为FloatEvaluator,同时修改动画的变化值即可;使用添加监听器的方式,只是为了介绍监听器的使用方法而已。Interpolator的概念其实我们并不陌生,在补间动画中我们就使用到了。他就是用来控制动画快慢节奏的;而在属性动画中,TimeInterpolator也是类似的作用;TimeInterpolator继承自Interpolator。我们可以继承TimerInterpolator以自己的方式控制动画变化的节奏,也可以使用Android系统提供的Interpolator。这些就是属性动画的核心内容。现在使用属性动画的特性自定义动画应该不是难事了。
请参考图1,本发明实施例提供的基于安卓动画的用户交互方法主要包括:
S101,获取用户需求。
其中,所述用户需求由用户操作客户端的任意应用程序界面所得。
具体地,用户登录某个应用程序,如微信,在微信界面上输入自己的需求,并将该需求提交至后台开发人员处。
S102,对所述用户需求进行分析,以得到动画需求。
具体地址,开发人员接收到用户需求后,对其进行分析,得出动画需求为补间动画和/或属性动画需求。
S103,根据所述动画需求生成动画效果,并将所述动画效果推送至所述应用程序界面,以展示给用户。
具体地,开发人员通过前述补间动画和属性动画的相关参数及知识,并根据补间动画和/或属性动画需求生成补间动画效果和属性动画效果。进一步地,将补间动画效果和属性动画效果推送至客户端,使得用户可以看到根据自己的需求所生成的补间动画效果或属性动画效果。
实施本发明实施例的用户交互方法,开发人员根据用户需求生成动画效果,并将该动画效果推送至应用程序界面,以展示给用户;即,本发明实施例可根据用户需求进行定制化的动画设计,从而提高了用户对产品的体验效果。
基于相同的发明构思,本发明实施例提供了一种基于安卓动画的用户交互系统。如图2所示,该系统包括相互通信的安卓客户端200和服务器100。
进一步地,作为本发明的一种优选实施例,如图3所示,服务器100包括:
获取单元10,用于获取用户需求;所述用户需求由用户操作客户端的任意应用程序界面所得;
分析单元11,用于对所述用户需求进行分析,以得到动画需求;
生成单元12,用于根据所述动画需求生成动画效果;
推送单元13,用于将动画效果推送至所述应用程序界面,以展示给用户。
进一步地,动画需求包括补间动画和属性动画,所述生成单元12具体用于:
根据所述动画需求,采用补间动画技术或属性动画技术,生成所述补间动画效果或属性动画效果。
可选地,作为本发明的另一种优选实施例,如图4所示,该服务器100可以包括:一个或多个处理器101、一个或多个输入设备102、一个或多个输出设备103和存储器104,上述处理器101、输入设备102、输出设备103和存储器104通过总线105相互连接。存储器104用于存储计算机程序,所述计算机程序包括程序指令,所述处理器101被配置用于调用所述程序指令执行上述基于安卓动画的用户交互方法实施例部分的方法。
应当理解,在本发明实施例中,所称处理器101可以是中央处理单元(CentralProcessing Unit,CPU),该处理器还可以是其他通用处理器、数字信号处理器(DigitalSignal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
输入设备102可以包括键盘等,输出设备103可以包括显示器(LCD等)、扬声器等。
该存储器104可以包括只读存储器和随机存取存储器,并向处理器101提供指令和数据。存储器104的一部分还可以包括非易失性随机存取存储器。例如,存储器104还可以存储设备类型的信息。
具体实现中,本发明实施例中所描述的处理器101、输入设备102、输出设备103可执行本发明实施例提供的基于安卓动画的用户交互方法的实施例中所描述的实现方式,在此不再赘述。
实施本发明实施例的用户交互系统及服务器,开发人员根据用户需求生成动画效果,并将该动画效果推送至应用程序界面,以展示给用户;即,本发明实施例可根据用户需求进行定制化的动画设计,从而提高了用户对产品的体验效果。
进一步地,对应于基于安卓动画的用户交互方法,本发明实施例还提供了一种可读存储介质,存储有计算机程序,所述计算机程序包括程序指令,所述程序指令被处理器执行时实现:上述方法实施例部分的方法。
所述计算机可读存储介质可以是前述实施例所述的客户机的内部存储单元,例如系统的硬盘或内存。所述计算机可读存储介质也可以是所述系统的外部存储设备,例如所述系统上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(SecureDigital,SD)卡,闪存卡(Flash Card)等。进一步地,所述计算机可读存储介质还可以既包括所述系统的内部存储单元也包括外部存储设备。所述计算机可读存储介质用于存储所述计算机程序以及所述系统所需的其他程序和数据。所述计算机可读存储介质还可以用于暂时地存储已经输出或者将要输出的数据。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本申请所提供的几个实施例中,应该理解到,所揭露的单元和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、装置或单元的间接耦合或通信连接,也可以是电的,机械的或其它的形式连接。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
- 基于安卓动画的用户交互方法、服务器、介质及系统
- 基于直播平台的用户交互方法、装置、服务器及介质