CN109271219B - 一种倒计时动画位置的计算方法及装置 - Google Patents
一种倒计时动画位置的计算方法及装置 Download PDFInfo
- Publication number
- CN109271219B CN109271219B CN201810827428.1A CN201810827428A CN109271219B CN 109271219 B CN109271219 B CN 109271219B CN 201810827428 A CN201810827428 A CN 201810827428A CN 109271219 B CN109271219 B CN 109271219B
- Authority
- CN
- China
- Prior art keywords
- countdown
- information
- animation
- countdown animation
- value
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T13/00—Animation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- General Engineering & Computer Science (AREA)
- Processing Or Creating Images (AREA)
Abstract
本发明公开了一种倒计时动画位置的计算方法及装置,包括:获取倒计时动画所在页面的复杂度评估值,复杂度评估值满足公式:复杂度V=层级深度H+子布局的个数C;根据复杂度评估值确定倒计时动画的预测加载时长,预测加载时长满足公式:T=V/n*10;通过预置的函数Handler.postMessageDelay()来延迟预测加载时长T发送一个超时消息,并在加载后的T秒钟通过预置的函数getMeasuredWidth()获取倒计时动画的布局文件的宽度信息ForecastWidth;判断宽度信息是否为初始值,初始值为预先设置的;若宽度信息不为初始值,则根据宽度信息确定倒计时动画的位置信息。
Description
技术领域
本发明涉及计算机领域,尤其涉及一种一种倒计时动画位置的计算方法及装置。
背景技术
目前,倒计时动画起始位置和结束位置的计算方法通常是通过定义一个全局变量的方式来进行动画位置的设计的,但是如果当倒计时上文字长度发生变化的时候会导致其视图的大小发生变化。
现有方案中,为了保证动效能够正常进行,需要调整动画的起始位置和结束位置信息。
如果文字长度经常变更的时候,现有方案实施起来就非常麻烦和复杂,现有方案中这种手动调整的方法灵活性欠缺且难以维护和调整。
发明内容
本发明实施例提供了一种倒计时动画位置的计算方法及装置,用于有效且快速的计算出倒计时动画的位置信息。
本发明实施例的第一方面提供了一种倒计时动画位置的计算方法,包括:获取倒计时动画所在页面的复杂度评估值,所述复杂度评估值满足公式:复杂度V=层级深度H+子布局的个数C,其中,所述复杂度V为所述复杂度评估值;根据所述复杂度评估值确定倒计时动画的预测加载时长,所述预测加载时长满足公式:T=V/n*10,其中,所述T大于0且小于1,所述n大于0;通过预置的函数Handler.postMessageDelay()来延迟所述预测加载时长T发送一个超时消息,并在加载后的T秒钟通过预置的函数getMeasuredWidth()获取所述倒计时动画的布局文件的宽度信息ForecastWidth;判断所述宽度信息是否为初始值,所述初始值为预先设置的;若所述宽度信息不为所述初始值,则根据所述宽度信息确定倒计时动画的位置信息。本发明实施例,快速获取倒计时动画的布局文件的宽度信息,并判断在预测加载时长范围内,倒计时动画的布局文件的宽度信息是否完成测量,有效且快速的计算出倒计时动画的位置信息,提高了计算得到的位置信息的准确性。
在一种可能的实施例中,在所述获取倒计时动画所在页面的复杂度评估值之前,所述方法还包括:对所述倒计时动画的布局文件的宽度信息的参数进行设置。本实现方式追加了对布局文件的宽度信息的参数进行设置的过程,确保能够计算得到的倒计时动画的位置信息。
在一种可能的实施例中,所述对所述倒计时动画的布局文件的宽度信息的参数进行设置包括:设置所述倒计时动画所在的页面的大小信息;定义一个定时的视图信息。本实现方式中,细化了对所述倒计时动画的布局文件的宽度信息的参数进行设置的过程,增加了本发明实施例的可操作性。
在一种可能的实施例中,所述设置所述倒计时动画所在的页面的大小信息包括:通过包裹内容WRAP_CONTENT的方式设置所述倒计时动画所在的页面的大小信息,所述WRAP_CONTENT表示视图大小与占据的距离成正比;或,通过具体数值xxxDP的方式设置所述倒计时动画所在的页面的大小信息,所述xxxDP为相应的具体数值;或,匹配父级MATCH_PARENT的方式设置所述倒计时动画所在的页面的大小信息,所述MATCH_PARENT表示布局大小与父视图大小保持一致。本实现方式中,细化了设置所述倒计时动画所在的页面的大小信息的过程,增加了本发明实施例的可实现方式。
在一种可能的实施例中,所述定义一个定时的视图信息包括:定义一个父容器,所述父容器为水平的线性布局器;在所述父容器中定义两个子容器,其中,每个子容器为倒计时文字的视图控件,所述倒计时文字的宽度信息为包裹文字信息的显示方式。本实现方式中,对定义一个定时的视图信息的过程进行了细化,增加了本发明实施例的可实现方式。
在一种可能的实施例中,所述方法还包括:若所述宽度信息为所述初始值,则将倒计时文字的最大长度值作为所述宽度信息的最新值。本实现方式中,增加了对宽度信息进行赋值的过程,使本发明实施例在步骤上更完善。
在一种可能的实施例中,所述将倒计时文字的最大长度值作为所述宽度信息的最新值之后,所述方法还包括:根据所述最新值确定所述宽度信息确定倒计时动画的位置信息,其中,所述倒计时动画的起点为所述最新值,所述倒计时动画的终点为0。本实现方式中,增加了根据赋值的最新值计算倒计时动画的位置信息的过程。
本发明实施例的第二方面提供了一种倒计时动画位置的计算装置,包括:第一获取单元,用于获取倒计时动画所在页面的复杂度评估值,所述复杂度评估值满足公式:复杂度V=层级深度H+子布局的个数C,其中,所述复杂度V为所述复杂度评估值;第一确定单元,用于根据所述复杂度评估值确定倒计时动画的预测加载时长,所述预测加载时长满足公式:T=V/n*10,其中,所述T大于0且小于1,所述n大于0;第二获取单元,用于通过预置的函数Handler.postMessageDelay()来延迟所述预测加载时长T发送一个超时消息,并在加载后的T秒钟通过预置的函数getMeasuredWidth()获取所述倒计时动画的布局文件的宽度信息ForecastWidth;判断单元,用于判断所述宽度信息是否为初始值,所述初始值为预先设置的;第二确定单元,若所述宽度信息不为所述初始值,则用于根据所述宽度信息确定倒计时动画的位置信息。本发明实施例,快速获取倒计时动画的布局文件的宽度信息,并判断在预测加载时长范围内,倒计时动画的布局文件的宽度信息是否完成测量,有效且快速的计算出倒计时动画的位置信息,提高了计算得到的位置信息的准确性。
本发明第三方面提供了一种电子设备,包括存储器、处理器,其特征在于,所述处理器用于执行存储器中存储的计算机管理类程序时实现如上述第一方面任意一项所述的获取自加载模块函数的方法的步骤。
本申请的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述各方面所述的方法。
本申请的第五方面提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述各方面所述的方法。
从以上技术方案可以看出,本发明实施例具有以下优点:获取倒计时动画所在页面的复杂度评估值,所述复杂度评估值满足公式:复杂度V=层级深度H+子布局的个数C,其中,所述复杂度V为所述复杂度评估值;根据所述复杂度评估值确定倒计时动画的预测加载时长,所述预测加载时长满足公式:T=V/n*10,其中,所述T大于0且小于1,所述n大于0;通过预置的函数Handler.postMessageDelay()来延迟所述预测加载时长T发送一个超时消息,并在加载后的T秒钟通过预置的函数getMeasuredWidth()获取所述倒计时动画的布局文件的宽度信息ForecastWidth;判断所述宽度信息是否为初始值,所述初始值为预先设置的;若所述宽度信息不为所述初始值,则根据所述宽度信息确定倒计时动画的位置信息。本发明实施例,快速获取倒计时动画的布局文件的宽度信息,并判断在预测加载时长范围内,倒计时动画的布局文件的宽度信息是否完成测量,有效且快速的计算出倒计时动画的位置信息,提高了计算得到的位置信息的准确性。
附图说明
图1A为本发明实施例提供的一种倒计时动画位置的计算方法的流程图;
图1B为本发明实施例提供的一种父容器的结构示意图;
图2为本发明实施例提供的一种倒计时动画位置的计算装置的结构示意图;
图3为本发明实施例提供的一种可能的电子设备的硬件结构示意图;
图4为本发明实施例提供的一种可能的计算机可读存储介质的硬件结构示意图。
具体实施方式
本发明实施例提供了一种倒计时动画位置的计算方法及装置,用于有效且快速的计算出倒计时动画的位置信息,并提高了计算效率。
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
请参阅图1A,为本发明实施例提供的倒计时动画位置的计算的流程图,具体包括:
101、获取倒计时动画所在页面的复杂度评估值。
获取倒计时动画所在页面的复杂度评估值。一般情况下页面的布局层次结构越深其系统加载该页面的时候花费的时间就会越长,这样我们就需要给出一个页面复杂度的评估值,具体评估方法如下:
定义复杂度的计算公式:复杂度V=层级深度H+子布局的个数C,其中,复杂度V的值越大,即复杂度越高。
102、根据复杂度评估值确定倒计时动画的预测加载时长。
根据复杂度评估值确定倒计时动画的预测加载时长。具体的,确定一个系统的加载倒计时动画的加载时长T与复杂度之间的一个映射关系,具体的映射关系如下所示:
预测加载时长T=V/n*10(单位是秒,其中n是一个调节因子,n大于0)。
因为Android系统的响应要在5秒内完成,如果没有完成就会产生ANR异常信息,通常情况下布局的加载时长一般不会超过1秒钟,因此我们在定义一个调节因子n的目的就是为了确保预测加载时长T的动态调整时间在0-1秒之间。一般情况下V的取值返回不会超过10,即一般情况下n的值可以设置为1。
103、通过预置的函数Handler.postMessageDelay()来延迟预测加载时长T发送一个超时消息,并在加载后的T秒钟通过预置的函数getMeasuredWidth()获取倒计时动画的布局文件的宽度信息ForecastWidth。
通过预置的函数Handler.postMessageDelay()来延迟预测加载时长T发送一个超时消息,并在加载后的T秒钟通过预置的函数getMeasuredWidth()获取倒计时动画的布局文件的宽度信息ForecastWidth。
具体的,通过上述步骤描述得到了一个预测加载时长T,然后在页面加载后延迟T秒的时长再通过系统测量布局文件的宽度信息。因为预测加载时长T秒后该布局文件都已经加载完成并且宽度信息等都已经测量完毕,具体进行延迟的方法为:
通过系统提供的Handler.postMessageDelay()函数来延迟T秒发送一个超时消息,这样在加载后的T秒钟通过getMeasuredWidth()来获取到系统测量好的具体的宽度信息ForecastWidth。
需要说明的是,在获取倒计时动画的布局文件的宽度信息之前,还需要对倒计时动画的布局文件的宽度信息的参数进行设置。
104、判断宽度信息是否为初始值。
判断宽度信息ForecastWidth是否为初始值,所述初始值为预先设置的。具体的,对ForecastWidth的值需要进行判定,因为上述步骤的预测加载时长T内并不能保证系统对布局文件的测量已经全部完成了。若ForecastWidth的值是getMeasuredWidth()系统测量的宽度信息,即测量成功,则根据得到的宽度信息确定倒计时动画的位置信息;若ForecastWidth的值信息就是初始值,即测量失败,则需要补救措施来对ForecastWidth的值进行调整和处理,即将倒计时文字的最大长度值作为所述宽度信息的最新值。
当宽度信息ForecastWidth为初始值时,执行步骤105,当宽度信息ForecastWidth不为初始值时,执行步骤106。
105、若宽度信息不为初始值,则根据宽度信息确定倒计时动画的位置信息。
若宽度信息不为初始值,则根据宽度信息确定倒计时动画的位置信息,倒计时动画的起点为宽度信息的值,倒计时动画的终点为0。
106、若宽度信息为初始值,则将倒计时文字的最大长度值作为宽度信息的最新值。
若宽度信息为初始值,则将倒计时文字的最大长度值作为宽度信息的最新值,其中,倒计时文字包含于倒计时动画。如果ForecastWidth的值等于-1(此处,之所以等于-1是因为WRAP_CONTENT的值就是-1,也就是说此时还没有测量完毕就开始获取宽度信息了),那就说明获取的宽度信息失败了,此时就需要给一个补救措施来对ForecastWidth的值进行调整和处理。不就措施为:将倒计时文字的最大长度值作为宽度信息的最新值。
具体的,当ForecastWidth的值我们判定是-1的时候,我们需要给ForecastWidth的值负责一个新的值,这个新的值是倒计时动画的最大长度值信息,具体是通过ForecastWidth=200dp的方式类似对其进行赋值的,即倒计时动画的布局文件的宽度信息就是200,dp。
107、根据最新值确定宽度信息确定倒计时动画的位置信息。
根据最新值确定宽度信息确定倒计时动画的位置信息,其中,倒计时动画的起点为最新值,倒计时动画的终点为0。
本发明实施例,快速获取倒计时动画的布局文件的宽度信息,并判断在预测加载时长范围内,倒计时动画的布局文件的宽度信息是否完成测量,有效且快速的计算出倒计时动画的位置信息,提高了计算得到的位置信息的准确性,并提高了计算效率。
可选的,在上述图1A对应的实施例的基础上,本发明实施例提供的倒计时动画位置的计算方法的可选实施例中,在所述获取倒计时动画所在页面的复杂度评估值之前,所述方法还包括:
对所述倒计时动画的布局文件的宽度信息的参数进行设置。
可选的,在上述图1A对应的实施例的基础上,本发明实施例提供的倒计时动画位置的计算方法的可选实施例中,所述对所述倒计时动画的布局文件的宽度信息的参数进行设置包括:
设置所述倒计时动画所在的页面的大小信息;
定义一个定时的视图信息。
可选的,在上述图1A对应的实施例的基础上,本发明实施例提供的倒计时动画位置的计算方法的可选实施例中,所述设置所述倒计时动画所在的页面的大小信息包括:
通过包裹内容WRAP_CONTENT的方式设置所述倒计时动画所在的页面的大小信息,所述WRAP_CONTENT表示视图大小与占据的距离成正比;
或,通过具体数值xxxDP的方式设置所述倒计时动画所在的页面的大小信息,所述xxxDP为相应的具体数值;
或,匹配父级MATCH_PARENT的方式设置所述倒计时动画所在的页面的大小信息,所述MATCH_PARENT表示布局大小与父视图大小保持一致。
具体的,WRAP_CONTENT:包裹内容,也就是视图有多大就占据多大的距离,Wrap_content其值本身大小是-1。
xxxDP:具体的大小值信息,其中xxx就是相应的具体的值信息也就是一种固定大小的写法。
MATCH_PARENT:表示的是布局大小与父视图大小保持一致,也就是父视图(父容器)大小是多少,其子控件(子容器)的大小就是多少。
可选的,在上述图1A对应的实施例的基础上,本发明实施例提供的倒计时动画位置的计算方法的可选实施例中,所述定义一个定时的视图信息包括:
定义一个父容器,所述父容器为水平的线性布局器;
在所述父容器中定义两个子容器,其中,每个子容器为倒计时文字的视图控件,所述倒计时文字的宽度信息为包裹文字信息的显示方式。
具体的,定义其父容器的结构,具体的定义方法如下所示:
定义的父容器是一个线性布局容器LinearLayout,其宽高信息都定义成wrap_content模式,也就是包裹子容器的方式,最重要的是将线性布局器的方向设置为水平方向了,具体是通过android:orientation="horizontal"代码来进行实施的。这样后续存放在LinearLayout中的页面元素就会按照水平依次排列开来。
然后在线性容器LinearLayout中定义两个倒计时文字的视图控件,具体的定义方法如下所示:
父容器和子容器的具体结构如图1B所示。
需要说明的是,这两个倒计时文字的宽度信息都是WRAP_CONTENT来进行显示的,也就是包裹文字信息来进行显示的。后续针对这种内容会有特殊的处理操作,此处不做限定。
可选的,在上述图1A对应的实施例的基础上,本发明实施例提供的倒计时动画位置的计算方法的可选实施例中,所述方法还包括:
若所述宽度信息为所述初始值,则将倒计时文字的最大长度值作为所述宽度信息的最新值。
可选的,在上述图1A对应的实施例的基础上,本发明实施例提供的倒计时动画位置的计算方法的可选实施例中,所述将倒计时文字的最大长度值作为所述宽度信息的最新值之后,所述方法还包括:
根据所述最新值确定所述宽度信息确定倒计时动画的位置信息,其中,所述倒计时动画的起点为所述最新值,所述倒计时动画的终点为0。
上面从倒计时动画位置的计算方法的角度对本发明实施例进行了描述,下面从倒计时动画位置的计算装置的角度对本发明实施例进行描述。
请参阅图2,图2为本发明实施例提供的一种可能的倒计时动画位置的计算装置的实施例示意图,包括:
第一获取单元201,用于获取倒计时动画所在页面的复杂度评估值,所述复杂度评估值满足公式:复杂度V=层级深度H+子布局的个数C,其中,所述复杂度V为所述复杂度评估值;
第一确定单元202,用于根据所述复杂度评估值确定倒计时动画的预测加载时长,所述预测加载时长满足公式:T=V/n*10,其中,所述T大于0且小于1,所述n大于0;
第二获取单元203,用于通过预置的函数Handler.postMessageDelay()来延迟所述预测加载时长T发送一个超时消息,并在加载后的T秒钟通过预置的函数getMeasuredWidth()获取所述倒计时动画的布局文件的宽度信息ForecastWidth;
判断单元204,用于判断所述宽度信息是否为初始值,所述初始值为预先设置的;
第二确定单元205,若所述宽度信息不为所述初始值,则用于根据所述宽度信息确定倒计时动画的位置信息。
本发明实施例,快速获取倒计时动画的布局文件的宽度信息,并判断在预测加载时长范围内,倒计时动画的布局文件的宽度信息是否完成测量,有效且快速的计算出倒计时动画的位置信息,提高了计算得到的位置信息的准确性,并提高了计算效率。
可选的,在一些可能的实现方式中,倒计时动画位置的计算装置还包括:
设置单元206,用于对所述倒计时动画的布局文件的宽度信息的参数进行设置。
可选的,在一些可能的实现方式中,设置单元206具体用于:
设置所述倒计时动画所在的页面的大小信息;
定义一个定时的视图信息。
可选的,在一些可能的实现方式中,设置单元206具体用于:
通过包裹内容WRAP_CONTENT的方式设置所述倒计时动画所在的页面的大小信息,所述WRAP_CONTENT表示视图大小与占据的距离成正比;
或,通过具体数值xxxDP的方式设置所述倒计时动画所在的页面的大小信息,所述xxxDP为相应的具体数值;
或,匹配父级MATCH_PARENT的方式设置所述倒计时动画所在的页面的大小信息,所述MATCH_PARENT表示布局大小与父视图大小保持一致。
可选的,在一些可能的实现方式中,设置单元206具体用于:
定义一个父容器,所述父容器为水平的线性布局器;
在所述父容器中定义两个子容器,其中,每个子容器为倒计时文字的视图控件,所述倒计时文字的宽度信息为包裹文字信息的显示方式。
可选的,在一些可能的实现方式中,倒计时动画位置的计算装置还包括:
赋值单元207,若所述宽度信息为所述初始值,则用于将倒计时文字的最大长度值作为所述宽度信息的最新值。
可选的,在一些可能的实现方式中,倒计时动画位置的计算装置还包括:
第三确定单元208,用于根据所述最新值确定所述宽度信息确定倒计时动画的位置信息,其中,所述倒计时动画的起点为所述最新值,所述倒计时动画的终点为0。
请参阅图3,图3为本发明实施例提供的电子设备的实施例示意图。
如图3所示,本发明实施例提供了一种电子设备,包括存储器310、处理器320及存储在存储器320上并可在处理器320上运行的计算机程序311,处理器320执行计算机程序311时实现以下步骤:获取倒计时动画所在页面的复杂度评估值,所述复杂度评估值满足公式:复杂度V=层级深度H+子布局的个数C,其中,所述复杂度V为所述复杂度评估值;根据所述复杂度评估值确定倒计时动画的预测加载时长,所述预测加载时长满足公式:T=V/n*10,其中,所述T大于0且小于1,所述n大于0;通过预置的函数Handler.postMessageDelay()来延迟所述预测加载时长T发送一个超时消息,并在加载后的T秒钟通过预置的函数getMeasuredWidth()获取所述倒计时动画的布局文件的宽度信息ForecastWidth;判断所述宽度信息是否为初始值,所述初始值为预先设置的;若所述宽度信息不为所述初始值,则根据所述宽度信息确定倒计时动画的位置信息。
可选的,在一种可能的实施例中,所述处理器具体用于:
对所述倒计时动画的布局文件的宽度信息的参数进行设置。
可选的,在一种可能的实施例中,所述处理器具体用于:设置所述倒计时动画所在的页面的大小信息;定义一个定时的视图信息。
可选的,在一种可能的实施例中,所述处理器具体用于:通过包裹内容WRAP_CONTENT的方式设置所述倒计时动画所在的页面的大小信息,所述WRAP_CONTENT表示视图大小与占据的距离成正比;或,通过具体数值xxxDP的方式设置所述倒计时动画所在的页面的大小信息,所述xxxDP为相应的具体数值;或,匹配父级MATCH_PARENT的方式设置所述倒计时动画所在的页面的大小信息,所述MATCH_PARENT表示布局大小与父视图大小保持一致。
可选的,在一种可能的实施例中,所述处理器具体用于:定义一个父容器,所述父容器为水平的线性布局器;在所述父容器中定义两个子容器,其中,每个子容器为倒计时文字的视图控件,所述倒计时文字的宽度信息为包裹文字信息的显示方式。
在具体实施过程中,处理器320执行计算机程序311时,可以实现图1对应的实施例中任一实施方式。
本发明实施例,快速获取倒计时动画的布局文件的宽度信息,并判断在预测加载时长范围内,倒计时动画的布局文件的宽度信息是否完成测量,有效且快速的计算出倒计时动画的位置信息,提高了计算得到的位置信息的准确性。
由于本实施例所介绍的电子设备为实施本发明实施例中倒计时动画位置的计算装置所采用的设备,故而基于本发明实施例中所介绍的方法,本领域所属技术人员能够了解本实施例的电子设备的具体实施方式以及其各种变化形式,所以在此对于该电子设备如何实现本发明实施例中的方法不再详细介绍,只要本领域所属技术人员实施本发明实施例中的方法所采用的设备,都属于本发明所欲保护的范围。
请参阅图4,图4为本发明实施例提供的一种计算机可读存储介质的实施例示意图。
如图4所示,本实施例提供了一种计算机可读存储介质400,其上存储有计算机程序411,该计算机程序411被处理器执行时实现如下步骤:获取倒计时动画所在页面的复杂度评估值,所述复杂度评估值满足公式:复杂度V=层级深度H+子布局的个数C,其中,所述复杂度V为所述复杂度评估值;根据所述复杂度评估值确定倒计时动画的预测加载时长,所述预测加载时长满足公式:T=V/n*10,其中,所述T大于0且小于1,所述n大于0;通过预置的函数Handler.postMessageDelay()来延迟所述预测加载时长T发送一个超时消息,并在加载后的T秒钟通过预置的函数getMeasuredWidth()获取所述倒计时动画的布局文件的宽度信息ForecastWidth;判断所述宽度信息是否为初始值,所述初始值为预先设置的;若所述宽度信息不为所述初始值,则根据所述宽度信息确定倒计时动画的位置信息。
可选的,在一种可能的实施例中,该计算机程序411被处理器执行时具体用于实现如下步骤:对所述倒计时动画的布局文件的宽度信息的参数进行设置。
可选的,在一种可能的实施例中,该计算机程序411被处理器执行时具体用于实现如下步骤:设置所述倒计时动画所在的页面的大小信息;定义一个定时的视图信息。
可选的,在一种可能的实施例中,该计算机程序411被处理器执行时具体用于实现如下步骤:通过包裹内容WRAP_CONTENT的方式设置所述倒计时动画所在的页面的大小信息,所述WRAP_CONTENT表示视图大小与占据的距离成正比;或,通过具体数值xxxDP的方式设置所述倒计时动画所在的页面的大小信息,所述xxxDP为相应的具体数值;或,匹配父级MATCH_PARENT的方式设置所述倒计时动画所在的页面的大小信息,所述MATCH_PARENT表示布局大小与父视图大小保持一致。
可选的,在一种可能的实施例中,该计算机程序411被处理器执行时具体用于实现如下步骤:定义一个父容器,所述父容器为水平的线性布局器;在所述父容器中定义两个子容器,其中,每个子容器为倒计时文字的视图控件,所述倒计时文字的宽度信息为包裹文字信息的显示方式。
本发明实施例,快速获取倒计时动画的布局文件的宽度信息,并判断在预测加载时长范围内,倒计时动画的布局文件的宽度信息是否完成测量,有效且快速的计算出倒计时动画的位置信息,提高了计算得到的位置信息的准确性。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式计算机或者其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包括这些改动和变型在内。
Claims (10)
1.一种倒计时动画位置的计算方法,其特征在于,包括:
获取倒计时动画所在页面的复杂度评估值,所述复杂度评估值满足公式:复杂度V=层级深度H+子布局的个数C,其中,所述复杂度V为所述复杂度评估值;
根据所述复杂度评估值确定倒计时动画的预测加载时长,所述预测加载时长满足公式:T=V/n*10,其中,所述T大于0且小于1,所述n为调节因子;
通过预置的函数Handler.postMessageDelay()来延迟所述预测加载时长T发送一个超时消息,并在加载完成后的T秒钟通过预置的函数getMeasuredWidth()获取所述倒计时动画的布局文件的宽度信息ForecastWidth;
判断所述宽度信息是否为初始值,所述初始值为预先设置的;
若所述宽度信息不为所述初始值,则根据所述宽度信息确定倒计时动画的位置信息。
2.根据权利要求1所述的方法,其特征在于,在所述获取倒计时动画所在页面的复杂度评估值之前,所述方法还包括:
对所述倒计时动画的布局文件的宽度信息的参数进行设置。
3.根据权利要求2所述的方法,其特征在于,所述对所述倒计时动画的布局文件的宽度信息的参数进行设置包括:
设置所述倒计时动画所在的页面的大小信息;
定义一个定时的视图信息。
4.根据权利要求3所述的方法,其特征在于,所述设置所述倒计时动画所在的页面的大小信息包括:
通过包裹内容WRAP_CONTENT的方式设置所述倒计时动画所在的页面的大小信息,所述WRAP_CONTENT表示视图大小与占据的距离成正比;
或,通过具体数值xxxDP的方式设置所述倒计时动画所在的页面的大小信息,所述xxxDP为相应的具体数值;
或,匹配父级MATCH_PARENT的方式设置所述倒计时动画所在的页面的大小信息,所述MATCH_PARENT表示布局大小与父视图大小保持一致。
5.根据权利要求3所述的方法,其特征在于,所述定义一个定时的视图信息包括:
定义一个父容器,所述父容器为水平的线性布局器;
在所述父容器中定义两个子容器,其中,每个子容器为倒计时文字的视图控件,所述倒计时文字的宽度信息为包裹文字信息的显示方式。
6.根据权利要求1-5任一所述的方法,其特征在于,所述方法还包括:
若所述宽度信息为所述初始值,则将倒计时文字的最大长度值作为所述宽度信息的最新值。
7.根据权利要求6所述的方法,其特征在于,所述将倒计时文字的最大长度值作为所述宽度信息的最新值之后,所述方法还包括:
根据所述最新值确定所述宽度信息,以确定倒计时动画的位置信息,其中,所述倒计时动画的起点为所述最新值,所述倒计时动画的终点为0。
8.一种倒计时动画位置的计算装置,其特征在于,包括:
第一获取单元,用于获取倒计时动画所在页面的复杂度评估值,所述复杂度评估值满足公式:复杂度V=层级深度H+子布局的个数C,其中,所述复杂度V为所述复杂度评估值;
第一确定单元,用于根据所述复杂度评估值确定倒计时动画的预测加载时长,所述预测加载时长满足公式:T=V/n*10,其中,所述T大于0且小于1,所述n为调节因子;
第二获取单元,用于通过预置的函数Handler.postMessageDelay()来延迟所述预测加载时长T发送一个超时消息,并在加载完成后的T秒钟通过预置的函数getMeasuredWidth()获取所述倒计时动画的布局文件的宽度信息ForecastWidth;
判断单元,用于判断所述宽度信息是否为初始值,所述初始值为预先设置的;
第二确定单元,若所述宽度信息不为所述初始值,则用于根据所述宽度信息确定倒计时动画的位置信息。
9.一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得计算机执行如权利要求1-7任意一项所述的方法。
10.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现如权利要求1-7任意一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810827428.1A CN109271219B (zh) | 2018-07-25 | 2018-07-25 | 一种倒计时动画位置的计算方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810827428.1A CN109271219B (zh) | 2018-07-25 | 2018-07-25 | 一种倒计时动画位置的计算方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109271219A CN109271219A (zh) | 2019-01-25 |
CN109271219B true CN109271219B (zh) | 2021-09-07 |
Family
ID=65152969
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810827428.1A Active CN109271219B (zh) | 2018-07-25 | 2018-07-25 | 一种倒计时动画位置的计算方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109271219B (zh) |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8963926B2 (en) * | 2006-07-11 | 2015-02-24 | Pandoodle Corporation | User customized animated video and method for making the same |
CN102467748A (zh) * | 2010-11-10 | 2012-05-23 | 上海日浦信息技术有限公司 | 一种实现三维场景中的动画纹理的方法 |
US20130235044A1 (en) * | 2012-03-09 | 2013-09-12 | Apple Inc. | Multi-purpose progress bar |
US9710882B2 (en) * | 2013-06-25 | 2017-07-18 | Iteris Inc. | Data overlay for animated map weather display and method of rapidly loading animated raster data |
CN105808083B (zh) * | 2014-12-30 | 2022-02-11 | 鸿合科技股份有限公司 | 一种显示方法与装置 |
CN106296566B (zh) * | 2016-08-12 | 2019-05-17 | 南京睿悦信息技术有限公司 | 一种虚拟现实移动端动态时间帧补偿渲染系统及方法 |
-
2018
- 2018-07-25 CN CN201810827428.1A patent/CN109271219B/zh active Active
Non-Patent Citations (2)
Title |
---|
优化总结;WYQ_XQ;《https://blog.csdn.net/u014041033/article/details/51154925》;CSDN;20160821;全文 * |
大数据视角下的互联网视频用户行为;韦安明; 何亚维; 王晓茹;《广播与电视技术》;20160315;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN109271219A (zh) | 2019-01-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109243619B (zh) | 预测模型的生成方法、装置及计算机可读存储介质 | |
CN112509292B (zh) | 故障预测方法、装置、电子设备及计算机可读存储介质 | |
JP2017228104A5 (zh) | ||
CN109857964B (zh) | 一种页面操作的热力图绘制方法、装置、存储介质及处理器 | |
CN113688552A (zh) | 摄像头模组跌落仿真方法、装置、电子设备及介质 | |
CN105022686A (zh) | 安卓平台上进程的cpu占用率确定方法和装置 | |
CN109815083B (zh) | 一种应用崩溃的监控方法、装置、电子设备及介质 | |
CN109271219B (zh) | 一种倒计时动画位置的计算方法及装置 | |
CN109582549A (zh) | 一种设备类型的识别方法及装置 | |
CN109521894A (zh) | 业务执行方法、装置及电子设备 | |
CN113590007A (zh) | 进度条的生成方法、生成装置、计算机设备及存储介质 | |
EP2950213B1 (en) | Method, apparatus, and system for migrating virtual machine | |
CN106611005A (zh) | 一种设置爬虫爬取时间间隔的方法及装置 | |
CN108170391B (zh) | 页面显示方法、装置及电子设备 | |
CN106648714B (zh) | 应用程序卸载信息的分析方法及装置 | |
CN110020264B (zh) | 一种无效超链接的确定方法及装置 | |
CN113642638B (zh) | 容量调整方法、模型的训练方法、装置、设备、存储介质 | |
CN111352793A (zh) | 一种监测应用使用数据的方法及装置 | |
JP2014174863A (ja) | 仮想計算機システム | |
US10073762B2 (en) | Debug device, debug method, and debug program | |
CN109684191B (zh) | 应用包构建方法、装置、设备及可读存储介质 | |
CN111599024A (zh) | 柜体层板的适配方法、装置及服务器 | |
CN112394868A (zh) | 网页弹框中目标信息的定位方法及装置 | |
CN107678945B (zh) | 一种网页应用阻塞的判断方法及装置 | |
CN110209509A (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 |