一种分段进度条的生成方法技术

技术编号:18668035 阅读:29 留言:0更新日期:2018-08-14 20:35
本发明专利技术涉及一种分段进度条的生成方法,步骤为:设置进度条的外框Frame的总宽度,设置任务的总时长,重复以下处理,直到当前任务时间已达到任务的总时长:获取当前任务时间,以该时间为开始时间,开始执行任务,将当前任务时间作为参数传入分段进度条生成函数中,生成本次分段进度条,判断当前任务时间是否已达到任务的总时长,如果达到,结束分段进度条的生成。本发明专利技术,在生成进度条时无需定时器的辅助,在总时间的范围内,生成一进度条宽度变化的动画,任务的时间和进度条的时间相同,进度条能根据任务的开始、暂停、结束等信息,计算进度条的生成、暂停、结束,无定时器的设计使得算法对系统资源消耗小,复杂性低,准确性好,易于调试、使用。

A method for generating staged progress bars

The invention relates to a method for generating a segment progress bar. The steps are: setting the total width of the outer frame frame frame of the progress bar, setting the total time of the task, repeating the following processing until the current task time has reached the total time of the task: acquiring the current task time, taking the time as the starting time, starting to execute the task, and taking the current task time as the starting time. Task time as a parameter is passed into the piecewise progress bar generating function to generate this piecewise progress bar, to determine whether the current task time has reached the total time of the task, if it is, the end of the piecewise progress bar generation. The invention does not need the assistance of a timer when generating a progress bar, and generates an animation of the width change of the progress bar within the total time range. The time of the task and the time of the progress bar are the same. The progress bar can calculate the generation, pause and termination of the progress bar according to the information of the start, pause and termination of the task, and there is no timer. The design makes the algorithm less consumption, low complexity, good accuracy, easy to debug and use.

【技术实现步骤摘要】
一种分段进度条的生成方法
本专利技术涉及进度条算法
,具体说是一种分段进度条的生成方法。
技术介绍
如果追溯Progressbar「进度条」的原型,通常被认为起源于HenryGantt所提出的「甘特图」。用图形方式来表示某种项目的活动顺序和持续时间是甘特图的核心思想。进度条即计算机在处理任务时,实时的,以图片等形式显示处理任务的速度,完成度,剩余未完成任务量的大小,和可能需要处理时间,一般以长方形条状显示。通常进度条下限取值为0%,上限取值为100%,现在在等待的界面上给用户显示一个进度条以呈现需要等待的时间已经成为一种习惯,它的作用只有一个,那就是让用户知道某任务并没有失去响应,并告知其完成的时间。作为对常规进度条的优化,提出了分段式进度条。一种分段式进度条是指实现分段显示不同颜色。在0%到100%的区间内,至少有两种不同颜色表示进度的变化,呈现分段效果。另一种分段式进度条是指多节点进度条,其中包括三个以上节点以及相邻节点之间的连线,为凸显个性,或线段颜色和节点图标都是可以自定义的。通常分段式进度条都需要定时器配合以实现进度条效果,即进度条的快慢与时间有关。例如:设定进度条的外框,代表总的任务时长,设定进度条的内框,代表当前进度比例,初始化内框宽度值为0,然后调用绘制函数show()生成进度条,启动一定时器timer(),根据定时器timer()的计时,每间隔一定时间就重复调用绘制函数show(),每次调用绘制函数show()时内框宽度增加一定数值,当内框宽度达到上限则停止定时器计时。这种宽度动画的呈现依赖于定时器,对系统资源有消耗,有进一步优化的空间。
技术实现思路
针对现有技术中存在的缺陷,本专利技术的目的在于提供一种分段进度条的生成方法,在生成进度条时无需定时器的辅助,在总时间的范围内,生成一进度条宽度变化的动画,任务的时间和进度条的时间相同,进度条能根据任务的开始、暂停、结束等信息,计算进度条的生成、暂停、结束,无定时器的设计使得算法对系统资源消耗小,复杂性低,准确性好,易于调试、使用。为达到以上目的,本专利技术采取的技术方案是:一种分段进度条的生成方法,其特征在于,包括如下步骤:设置进度条的外框Frame的总宽度,设置任务的总时长,重复以下处理,直到当前任务时间已达到任务的总时长:获取当前任务时间,以该时间为开始时间,开始执行任务,将当前任务时间作为参数传入分段进度条生成函数startWithBeginTime()中,生成本次分段进度条,判断当前任务时间是否已达到任务的总时长,如果达到,结束分段进度条的生成。在上述技术方案的基础上,所述任务包括以下任意之一:音频播放,视频播放,音频录制,视频录制,文件传输,数据处理。在上述技术方案的基础上,所述任务开始时,将当前任务时间作为参数传入分段进度条生成函数startWithBeginTime()中,生成本次分段进度条,所述任务暂停时,停止执行分段进度条生成函数startWithBeginTime(),所述任务结束时,停止执行分段进度条生成函数startWithBeginTime()。在上述技术方案的基础上,每次执行分段进度条生成函数startWithBeginTime(),进度条的属性参数按预设变化。在上述技术方案的基础上,所述进度条的属性参数按预设变化是指:进度条的颜色按预设变化,或:进度条的图案按预设变化,或:进度条的高度按预设变化。在上述技术方案的基础上,分段进度条生成函数startWithBeginTime()的具体处理步骤为:调用初始化函数createSegment()创建分段对象,初始化时获取bounds.size.width的值,该值作为分段进度条宽度的边界值,判断是否存在上个分段,如果不存在,则设置当前分段宽度为总宽度,如果存在,则设置当前分段宽度为总宽度减去上个分段的宽度,上个分段的宽度按个分段的右边坐标计算,设置分段对象的锚点anchor属性,用于表示该分段对象的中心点,设置进度条绘制动画的时长为剩余时间,即:任务的总时长减去当前任务时间,设置动画初值为0,终值为当前分段宽度,按初值和终值开始绘制本次分段进度条。在上述技术方案的基础上,设置分段对象的锚点anchor属性默认为anchorPoint:0,0.5。本专利技术所述的分段进度条的生成方法,在生成进度条时无需定时器的辅助,在总时间的范围内,生成一进度条宽度变化的动画,任务的时间和进度条的时间相同,进度条能根据任务的开始、暂停、结束等信息,计算进度条的生成、暂停、结束,无定时器的设计使得算法对系统资源消耗小,复杂性低,准确性好,易于调试、使用。附图说明本专利技术有如下附图:图1本专利技术的流程图。具体实施方式以下结合附图对本专利技术作进一步详细说明。如图1所示,本专利技术所述的分段进度条的生成方法,包括如下步骤:设置进度条的外框Frame的总宽度,设置任务的总时长,重复以下处理,直到当前任务时间已达到任务的总时长:获取当前任务时间,以该时间为开始时间,开始执行任务,将当前任务时间作为参数传入分段进度条生成函数startWithBeginTime()中,生成本次分段进度条,判断当前任务时间是否已达到任务的总时长,如果达到,结束分段进度条的生成。在上述技术方案的基础上,所述任务包括以下任意之一:音频播放,视频播放,音频录制,视频录制,文件传输,数据处理。在上述技术方案的基础上,所述任务开始时,将当前任务时间作为参数传入分段进度条生成函数startWithBeginTime()中,生成本次分段进度条,所述任务暂停时,停止执行分段进度条生成函数startWithBeginTime(),所述任务结束时,停止执行分段进度条生成函数startWithBeginTime()。在上述技术方案的基础上,每次执行分段进度条生成函数startWithBeginTime(),进度条的属性参数按预设变化。在上述技术方案的基础上,所述进度条的属性参数按预设变化是指:进度条的颜色按预设变化,或:进度条的图案按预设变化,或:进度条的高度按预设变化。在上述技术方案的基础上,分段进度条生成函数startWithBeginTime()的具体处理步骤为:调用初始化函数createSegment()创建分段对象,初始化时获取bounds.size.width的值,该值作为分段进度条宽度的边界值,判断是否存在上个分段,如果不存在,则设置当前分段宽度为总宽度,如果存在,则设置当前分段宽度为总宽度减去上个分段的宽度,上个分段的宽度按个分段的右边坐标计算,设置分段对象的锚点anchor属性,用于表示该分段对象的中心点,设置进度条绘制动画的时长为剩余时间,即:任务的总时长减去当前任务时间,设置动画初值为0,终值为当前分段宽度,按初值和终值开始绘制本次分段进度条。在上述技术方案的基础上,设置分段对象的锚点anchor属性默认为anchorPoint:0,0.5。本说明书中未作详细描述的内容属于本领域专业技术人员公知的现有技术。本文档来自技高网
...

【技术保护点】
1.一种分段进度条的生成方法,其特征在于,包括如下步骤:设置进度条的外框Frame的总宽度,设置任务的总时长,重复以下处理,直到当前任务时间已达到任务的总时长:获取当前任务时间,以该时间为开始时间,开始执行任务,将当前任务时间作为参数传入分段进度条生成函数startWithBeginTime()中,生成本次分段进度条,判断当前任务时间是否已达到任务的总时长,如果达到,结束分段进度条的生成。

【技术特征摘要】
1.一种分段进度条的生成方法,其特征在于,包括如下步骤:设置进度条的外框Frame的总宽度,设置任务的总时长,重复以下处理,直到当前任务时间已达到任务的总时长:获取当前任务时间,以该时间为开始时间,开始执行任务,将当前任务时间作为参数传入分段进度条生成函数startWithBeginTime()中,生成本次分段进度条,判断当前任务时间是否已达到任务的总时长,如果达到,结束分段进度条的生成。2.如权利要求1所述的分段进度条的生成方法,其特征在于:所述任务包括以下任意之一:音频播放,视频播放,音频录制,视频录制,文件传输,数据处理。3.如权利要求1所述的分段进度条的生成方法,其特征在于:所述任务开始时,将当前任务时间作为参数传入分段进度条生成函数startWithBeginTime()中,生成本次分段进度条,所述任务暂停时,停止执行分段进度条生成函数startWithBeginTime(),所述任务结束时,停止执行分段进度条生成函数startWithBeginTime()。4.如权利要求1所述的分段进度条的生成方法,其特征在于:每次执行分段进度条生成函数startWithBeg...

【专利技术属性】
技术研发人员:郭艳杰
申请(专利权)人:北京酷我科技有限公司
类型:发明
国别省市:北京,11

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

1