CN108399092A - 一种分段进度条的生成方法 - Google Patents

一种分段进度条的生成方法 Download PDF

Info

Publication number
CN108399092A
CN108399092A CN201810165211.9A CN201810165211A CN108399092A CN 108399092 A CN108399092 A CN 108399092A CN 201810165211 A CN201810165211 A CN 201810165211A CN 108399092 A CN108399092 A CN 108399092A
Authority
CN
China
Prior art keywords
segmented
bar
task
growing
time
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201810165211.9A
Other languages
English (en)
Other versions
CN108399092B (zh
Inventor
郭艳杰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Kuwo Technology Co Ltd
Original Assignee
Beijing Kuwo Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Kuwo Technology Co Ltd filed Critical Beijing Kuwo Technology Co Ltd
Priority to CN201810165211.9A priority Critical patent/CN108399092B/zh
Publication of CN108399092A publication Critical patent/CN108399092A/zh
Application granted granted Critical
Publication of CN108399092B publication Critical patent/CN108399092B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/38Creation or generation of source code for implementing user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T13/00Animation
    • G06T13/802D [Two Dimensional] animation, e.g. using sprites

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Processing Or Creating Images (AREA)

Abstract

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

Description

一种分段进度条的生成方法
技术领域
本发明涉及进度条算法技术领域,具体说是一种分段进度条的生成方法。
背景技术
如果追溯 Progress bar「进度条」的原型,通常被认为起源于 Henry Gantt 所提出的「甘特图」。用图形方式来表示某种项目的活动顺序和持续时间是甘特图的核心思想。进度条即计算机在处理任务时,实时的,以图片等形式显示处理任务的速度,完成度,剩余未完成任务量的大小,和可能需要处理时间,一般以长方形条状显示。通常进度条下限取值为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。
本说明书中未作详细描述的内容属于本领域专业技术人员公知的现有技术。

Claims (7)

1.一种分段进度条的生成方法,其特征在于,包括如下步骤:
设置进度条的外框Frame的总宽度,
设置任务的总时长,
重复以下处理,直到当前任务时间已达到任务的总时长:
获取当前任务时间,以该时间为开始时间,开始执行任务,
将当前任务时间作为参数传入分段进度条生成函数startWithBeginTime()中,生成本次分段进度条,
判断当前任务时间是否已达到任务的总时长,
如果达到,结束分段进度条的生成。
2.如权利要求1所述的分段进度条的生成方法,其特征在于:所述任务包括以下任意之一:
音频播放,
视频播放,
音频录制,
视频录制,
文件传输,
数据处理。
3.如权利要求1所述的分段进度条的生成方法,其特征在于:所述任务开始时,将当前任务时间作为参数传入分段进度条生成函数startWithBeginTime()中,生成本次分段进度条,
所述任务暂停时,停止执行分段进度条生成函数startWithBeginTime(),
所述任务结束时,停止执行分段进度条生成函数startWithBeginTime()。
4.如权利要求1所述的分段进度条的生成方法,其特征在于:每次执行分段进度条生成函数startWithBeginTime(),进度条的属性参数按预设变化。
5.如权利要求4所述的分段进度条的生成方法,其特征在于:所述进度条的属性参数按预设变化是指:
进度条的颜色按预设变化,
或:
进度条的图案按预设变化,
或:
进度条的高度按预设变化。
6.如权利要求1所述的分段进度条的生成方法,其特征在于:分段进度条生成函数startWithBeginTime()的具体处理步骤为:
调用初始化函数createSegment()创建分段对象,初始化时获取bounds.size.width的值,该值作为分段进度条宽度的边界值,
判断是否存在上个分段,
如果不存在,则设置当前分段宽度为总宽度,
如果存在,则设置当前分段宽度为 总宽度减去上个分段的宽度,上个分段的宽度按个分段的右边坐标计算,
设置分段对象的锚点anchor属性,用于表示该分段对象的中心点,
设置进度条绘制动画的时长为剩余时间,即:任务的总时长减去当前任务时间,
设置动画初值为0,终值为当前分段宽度,按初值和终值开始绘制本次分段进度条。
7.如权利要求6所述的分段进度条的生成方法,其特征在于:设置分段对象的锚点anchor属性默认为anchorPoint:0,0.5。
CN201810165211.9A 2018-02-27 2018-02-27 一种分段进度条的生成方法 Active CN108399092B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810165211.9A CN108399092B (zh) 2018-02-27 2018-02-27 一种分段进度条的生成方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810165211.9A CN108399092B (zh) 2018-02-27 2018-02-27 一种分段进度条的生成方法

Publications (2)

Publication Number Publication Date
CN108399092A true CN108399092A (zh) 2018-08-14
CN108399092B CN108399092B (zh) 2021-04-06

Family

ID=63096724

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810165211.9A Active CN108399092B (zh) 2018-02-27 2018-02-27 一种分段进度条的生成方法

Country Status (1)

Country Link
CN (1) CN108399092B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109254782A (zh) * 2018-09-12 2019-01-22 郑州云海信息技术有限公司 操作系统安装方法和装置
CN113535314A (zh) * 2021-08-04 2021-10-22 亿览在线网络技术(北京)有限公司 一种基于节点的进度条呈现方法
CN114020266A (zh) * 2021-10-28 2022-02-08 四川启睿克科技有限公司 一种基于vue的分段式进度条组件的实现方法

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103631571A (zh) * 2012-08-21 2014-03-12 腾讯科技(深圳)有限公司 一种进度条的控制方法和装置
CN103947216A (zh) * 2011-09-23 2014-07-23 谷歌公司 视频分段呈现跟踪
US20140258910A1 (en) * 2013-03-08 2014-09-11 Sap Ag Computer Execution Progress Indicator
CN104123214A (zh) * 2013-04-26 2014-10-29 阿里巴巴集团控股有限公司 基于运行时数据的任务执行进度度量和展示的方法及系统
CN104536873A (zh) * 2015-01-08 2015-04-22 河南智业科技发展有限公司 一种新型任务进度条、任务进度控制、预警的方法
CN105183322A (zh) * 2015-09-18 2015-12-23 百度在线网络技术(北京)有限公司 进度条显示方法和装置
CN105956742A (zh) * 2016-04-21 2016-09-21 中国电子科技集团公司第二十八研究所 一种指挥任务管理信息与进度监视一体化显示方法
CN107368312A (zh) * 2017-07-16 2017-11-21 北京酷我科技有限公司 一种呼吸灯效果的进度条的展现方法
CN107454465A (zh) * 2017-07-31 2017-12-08 北京小米移动软件有限公司 视频播放进度展示方法及装置、电子设备

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103947216A (zh) * 2011-09-23 2014-07-23 谷歌公司 视频分段呈现跟踪
CN103631571A (zh) * 2012-08-21 2014-03-12 腾讯科技(深圳)有限公司 一种进度条的控制方法和装置
US20140258910A1 (en) * 2013-03-08 2014-09-11 Sap Ag Computer Execution Progress Indicator
CN104123214A (zh) * 2013-04-26 2014-10-29 阿里巴巴集团控股有限公司 基于运行时数据的任务执行进度度量和展示的方法及系统
CN104536873A (zh) * 2015-01-08 2015-04-22 河南智业科技发展有限公司 一种新型任务进度条、任务进度控制、预警的方法
CN105183322A (zh) * 2015-09-18 2015-12-23 百度在线网络技术(北京)有限公司 进度条显示方法和装置
CN105956742A (zh) * 2016-04-21 2016-09-21 中国电子科技集团公司第二十八研究所 一种指挥任务管理信息与进度监视一体化显示方法
CN107368312A (zh) * 2017-07-16 2017-11-21 北京酷我科技有限公司 一种呼吸灯效果的进度条的展现方法
CN107454465A (zh) * 2017-07-31 2017-12-08 北京小米移动软件有限公司 视频播放进度展示方法及装置、电子设备

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
刘伟超: "进度条呈现方式对系统响应时间时距知觉的影响", 《心理技术与应用》 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109254782A (zh) * 2018-09-12 2019-01-22 郑州云海信息技术有限公司 操作系统安装方法和装置
CN113535314A (zh) * 2021-08-04 2021-10-22 亿览在线网络技术(北京)有限公司 一种基于节点的进度条呈现方法
CN113535314B (zh) * 2021-08-04 2024-08-02 亿览在线网络技术(北京)有限公司 一种基于节点的进度条呈现方法
CN114020266A (zh) * 2021-10-28 2022-02-08 四川启睿克科技有限公司 一种基于vue的分段式进度条组件的实现方法
CN114020266B (zh) * 2021-10-28 2024-04-12 四川启睿克科技有限公司 一种基于vue的分段式进度条组件的实现方法

Also Published As

Publication number Publication date
CN108399092B (zh) 2021-04-06

Similar Documents

Publication Publication Date Title
CN108399092A (zh) 一种分段进度条的生成方法
WO2020156132A1 (zh) Gpu性能瓶颈的确定方法、装置、终端及存储介质
CN107728905B (zh) 一种弹幕显示方法、装置及存储介质
CN107122175B (zh) 界面生成方法及装置
KR20160013984A (ko) 비디오 편집을 위한 터치 최적화 디자인
CN107277412B (zh) 视频录制方法及装置、图形处理器及电子设备
CN106569834A (zh) 基于浏览器的动画制作方法及系统
CN105446593B (zh) 一种游戏动态图标控制方法及装置
JP6814871B2 (ja) 電子デバイスの音声制御方法、電子デバイスの音声制御装置、コンピュータ機器及び記憶媒体
WO2017050004A1 (zh) 动画管理方法及其系统
CN104850211A (zh) 智能设备拍摄时省电的方法
CN102591655A (zh) 一种图标按钮的实现方法和装置
US11941728B2 (en) Previewing method and apparatus for effect application, and device, and storage medium
CN107479872A (zh) 安卓动画集合播放方法、存储介质、电子设备及系统
CN112634466A (zh) 虚拟形象模型的表情显示方法、装置、设备及存储介质
CN110083417A (zh) 用户界面响应方法和装置
CN110225278A (zh) 多媒体文件的获取方法、装置及设备
CN105930166B (zh) 一种基于web界面弹出层的方法
CN102479387A (zh) 生成多媒体动画与播放该多媒体动画的方法和装置
CN107436766A (zh) 一种Mac下自定义形状进度条的处理算法
CN109656638A (zh) 一种基于Purley平台的用户定制化功能的实现方法
CN108062339B (zh) 可视化图表的处理方法及装置
CN107690088A (zh) 一种智能播放视频的方法及装置
KR20120017092A (ko) 액션 웹툰 제작 방법 및 장치
CN110377140A (zh) 唤醒操作系统的方法、装置、终端及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant