字符滚动显示方法、装置及存储介质与流程

文档序号:12304968阅读:272来源:国知局
字符滚动显示方法、装置及存储介质与流程

本发明涉及安卓技术领域,尤其涉及一种字符滚动显示方法、装置及存储介质。



背景技术:

跑马灯是一种电脑编程工具,利用涂鸦等效果显示文字,跑马灯一般需要用一矩形条显示少量用户特别关心的信息,这条信息收尾相连,向一个方向循环滚动。

在一般情况下,利用textview控件通过获取焦点,实现跑马灯的效果,但是当用户返回某一界面时,容易造成焦点的丢失,可能出现滚动条停止滚动的情况,从而导致影响界面的显示效果。

为了解决焦点丢失的问题,通过寻找其他的开源控件,并修改源代码,可以解决上述问题,但是通过寻找其他开源控件,并修改源代码容易造成代码较复杂。



技术实现要素:

本发明的主要目的在于提出一种字符滚动显示方法、装置及存储介质,旨在解决现有技术中由于普通控件实现跑马灯效果时,焦点丢失导致界面显示效果差的技术问题。

为实现上述目的,本发明提供一种字符滚动显示方法,一种字符滚动显示方法包括以下步骤:

获取待滚动字符的初始坐标参数;

将所述待滚动字符及初始坐标参数传入预设函数,使所述待滚动字符从所述初始坐标参数对应的位置沿预设方向在预设区域内进行滚动;

获取所述待滚动字符在预设区域内的当前坐标参数;

在所述当前坐标参数为预设坐标参数时,将所述待滚动字符及初始坐标参数重新传入所述预设函数,使所述待滚动字符再次从所述初始坐标参数对应的位置沿预设方向在预设区域内进行滚动。

优选地,所述预设函数由绘制函数与drawtext函数组成。

优选地,所述获取待滚动字符的初始坐标参数步骤之前,所述方法包括:

通过调用drawtext函数在当前显示界面中建立所述预设区域。

优选地,所述获取待滚动字符的初始坐标参数步骤之前,所述方法还包括:

获取所述预设区域的高度、所述预设区域上边框到所述待滚动字符基线的距离以及所述预设区域下边框到所述待滚动字符基线的距离;

根据所述高度、所述预设区域上边框到所述待滚动字符基线的距离以及所述预设区域下边框到所述待滚动字符基线的距离,计算出所述所述待滚动字符基线的坐标参数,将所述待滚动字符基线的坐标参数送入预设函数,从而使所述待滚动字符在所述预设区域居中显示。

优选地,所述获取待滚动字符的初始坐标参数步骤具体包括:

获取当前显示界面的分辨率,根据所述分辨率调整所述初始坐标参数。

优选地,所述待滚动字符的滚动方向为从右往左滚动、从左往右滚动、从下往上滚动或者从上往下滚动。

优选地,所述方法还包括:

调用点击函数,获取所述待滚动字符的点击事件。

优选地,所述方法还包括:

调用定时器函数,将所述待滚动字符进行暂停停止。

此外,为实现上述目的,本发明还提出一种字符滚动显示装置,所述字符滚动显示装置包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的字符滚动显示程序,所述字符滚动显示程序配置为实现如上文所述的字符滚动显示方法的步骤。

此外,为实现上述目的,本发明还提出一种存储介质,所述存储介质上存储有字符滚动显示程序,所述字符滚动显示程序被处理器执行时实现如上文所述的字符滚动显示方法的步骤。

本发明通过将所述待滚动字符及初始坐标参数传入预设函数,实现待滚动字符在显示界面进行滚动,摆脱传统函数通过获取焦点实现跑马灯的方式,从而提高用户体验。

附图说明

图1是本发明实施例方案涉及的硬件运行环境的字符显示服务器结构示意图;

图2为本发明字符滚动显示方法第一实施例的流程示意图;

图3为本发明字符滚动显示方法第二实施例的流程示意图;

图4为本发明字符滚动显示方法第三实施例的流程示意图;

图5为本发明字符滚动显示方法第四实施例的流程示意图;

图6为本发明字符滚动显示方法第五实施例的流程示意图。

本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

参照图1,图1为本发明实施例方案涉及的硬件运行环境的字符显示服务器的结构示意图。

如图1所示,所述字符显示服务器可以包括:处理器1001,例如cpu,通信总线1002、用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(display)、输入单元比如键盘(keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如wifi接口)。存储器1005可以是高速ram存储器,也可以是稳定的存储器(non-volatilememory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。

本领域技术人员可以理解,图1中示出的字符显示服务器结构并不构成对字符显示服务器的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。

如图1所示,作为一种存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及字符滚动显示程序。

在图1所示的字符显示服务器中,网络接口1004主要用于连接网络,与互联网进行数据通信;用户接口1003主要用于连接用户终端,与终端进行数据通信;本发明字符显示服务器中的处理器1001、存储器1005可以设置在字符滚动显示装置中,所述字符滚动显示装置通过处理器1001调用存储器1005中存储的字符滚动显示程序,并执行以下操作:

获取待滚动字符的初始坐标参数;

将所述待滚动字符及初始坐标参数传入预设函数,使所述待滚动字符从所述初始坐标参数对应的位置沿预设方向在预设区域内进行滚动;

获取所述待滚动字符在预设区域内的当前坐标参数;

在所述当前坐标参数为预设坐标参数时,将所述待滚动字符及初始坐标参数重新传入所述预设函数,使所述待滚动字符再次从所述初始坐标参数对应的位置沿预设方向在预设区域内进行滚动。

进一步地,处理器1001可以调用存储器1005中存储的字符滚动显示程序,还执行以下操作:

通过调用drawtext函数在当前显示界面中建立所述预设区域。

进一步地,处理器1001可以调用存储器1005中存储的字符滚动显示程序,还执行以下操作:

获取所述预设区域的高度、所述预设区域上边框到所述待滚动字符基线的距离以及所述预设区域下边框到所述待滚动字符基线的距离;

根据所述高度、所述预设区域上边框到所述待滚动字符基线的距离以及所述预设区域下边框到所述待滚动字符基线的距离,计算出所述所述待滚动字符基线的坐标参数,将所述待滚动字符基线的坐标参数送入预设函数,从而使所述待滚动字符在所述预设区域居中显示。

进一步地,处理器1001可以调用存储器1005中存储的字符滚动显示程序,还执行以下操作:

获取当前显示界面的分辨率,根据所述分辨率调整所述初始坐标参数。

进一步地,处理器1001可以调用存储器1005中存储的字符滚动显示程序,还执行以下操作:

调用点击函数,获取所述待滚动字符的点击事件。

进一步地,处理器1001可以调用存储器1005中存储的字符滚动显示程序,还执行以下操作:

调用定时器函数,将所述待滚动字符进行暂停停止。

本实施例通过上述方案,本发明通过将所述待滚动字符及初始坐标参数传入预设函数,实现待滚动字符在显示界面进行滚动,摆脱传统函数通过获取焦点实现跑马灯的方式,从而提高用户体验。

基于上述硬件结构,提出本发明字符滚动显示方法实施例。

参照图2,图2为本发明字符滚动显示方法第一实施例的流程示意图。

在第一实施例中,所述字符滚动显示方法包括以下步骤:

步骤s10,获取待滚动字符的初始坐标参数;

需要说明的是,所述待滚动字符可为文字,也可为字母、数字或其结合,本实施例在此不作限制。

在具体实现中,所述待滚动字符的滚动方向可为从右往左滚动、从左往右滚动、从下往上滚动或者从上往下滚动,从而提高待滚动字符进行滚动的灵活性。

所述待滚动字符的滚动方向可为从右往左或者从左向右滚动时,初始坐标参数为待滚动字符在当前显示界面中所处的位置,所述初始位置可为显示界面的最右边,即将初始坐标参数可设置为显示界面的宽度,在这种情况下,待滚动字符为初始不可见;所述初始位置可为预设坐标参数,例如将初始坐标参数设置为0,在这种情况下,待滚动字符初始设置为显示一个显示界面宽度的待滚动字符。

所述待滚动字符的滚动方向可为从下往上或者从上向下滚动时,初始坐标参数为待滚动字符在当前显示界面中所处的位置,所述初始位置可为显示界面的最下边,即将初始坐标参数可设置为显示界面的高度,在这种情况下,待滚动字符为初始不可见;所述初始位置可为预设坐标参数,例如将初始坐标参数设置为0,在这种情况下,待滚动字符初始设置为显示一个显示界面高度的待滚动字符。

可以理解的是,设置所述待滚动字符的初始坐标参数还包括待滚动字符显示的位置,例如设置paint.settextalign(paint.align.center)表示待滚动字符在所述初始坐标参数的中间,设置paint.settextalign(paint.align.left)表示待滚动字符在所述初始坐标参数的右边,在本实施例中,以待滚动字符在所述初始坐标参数的右边为例。

步骤s20,将所述待滚动字符及初始坐标参数传入预设函数,使所述待滚动字符从所述初始坐标参数对应的位置沿预设方向在预设区域内进行滚动;

所述预设函数可为canvas.drawtext(text,x,y,paint),可知所述预设函数由绘制函数与drawtext函数组成,其中text表示输入的待滚动字符,x表示输入的初始坐标参数,y表示输入的待滚动字符基线的坐标参数,paint表示调用的画笔。通过调用绘制函数与drawtext函数,使待滚动字符从初始坐标参数对应的位置沿预设方向在预设区域内进行滚动,从而提高待滚动字符进行滚动的灵活性。

所述预设方向可从右往左滚动、从左往右滚动、从下往上滚动或者从上往下滚动。

所述预设区域可为drawtext函数创建的区域,包括长度、高度等参数。

需要说明的是,通过drawtext函数可在指定的矩形里写入格式化文本,通过调用所述预设函数,可将待滚动字符通过绘制的方式达到滚动的效果。

步骤s30,获取所述待滚动字符在预设区域内的当前坐标参数;

需要说明的是,所述预设函数可为canvas.drawtext(text,x,y,paint),其中,x为变量,根据所述预设函数可在预设时间内获取到当前坐标参数,可调整所述待滚动字符的当前坐标位置,解决待滚动字符的长度过长,无法完全显示的技术问题,从而提高用户体验。

步骤s40,在所述当前坐标参数为预设坐标参数时,将所述待滚动字符及初始坐标参数重新传入所述预设函数,使所述待滚动字符再次从所述初始坐标参数对应的位置沿预设方向在预设区域内进行滚动。

当待滚动字符从右往左滚动时,可获取待滚动字符的长度值,可设置所述预设坐标参数为所述待滚动字符的长度值的负值。

需要说明的是,在安卓系统中,原点坐标为显示界面左顶角的位置,将超过左边的x轴的坐标参数定义为负值,可设置预设函数为待滚动字符的长度值的负值,从而当待滚动字符的长度大于显示界面的宽度时,保证待滚动字符在当前显示界面完全显示。

当待滚动字符从左往右滚动时,可设置预设函数为待滚动字符的长度值与显示界面宽度值之和,从而当待滚动字符的长度大于显示界面的宽度时,保证待滚动字符在当前显示界面完全显示。

当待滚动字符从下往上滚动时,获取待滚动字符的长度值以及显示界面的高度值,可设定预设函数为待滚动字符的长度值的负值,从而当待滚动字符的长度大于显示界面的高度时,保证待滚动字符完全显示。

当所述待滚动字符从上往下滚动时,获取待滚动字符的长度值以及显示界面的高度值,可设置预设函数为待滚动字符的长度值与高度值之和,从而当待滚动字符的长度大于显示界面的高度时,保证待滚动字符完全显示。

可以理解的是,当待滚动字符的当前坐标参数为预设坐标参数时,可将待滚动字符调整到初始坐标参数的位置,从而进行循环显示,提高用户体验。

下面以待滚动字符从右往左滚动为例进行说明,假设待滚动字符长度为4304,显示界面的宽度为1080,初始坐标参数设置为0,在这种情况下,待滚动字符的长度大于显示界面的宽度,设置预设坐标参数为-4304,即待滚动字符在显示界面完全显示,当待滚动字符的当前坐标参数为预设坐标参数时,将待滚动字符以及初始坐标参数0重新传入到预设函数canvas.drawtext(text,x,y,paint)中,将待滚动字符调整到初始坐标参数的位置,从而进行循环显示,提高用户体验。

需要说明的是,在待滚动字符在显示界面进行显示之前,可设置待滚动字符的显示区域,通过调用drawtext函数设置显示区域,使待滚动字符在设定的显示区域进行滚动,本实施例中,所述步骤s10之前,还可包括:

通过调用drawtext函数在当前显示界面中建立所述预设区域。通过调用drawtext函数在当前显示界面中建立显示区域,从而可将所述待滚动字符设置在预设区域进行滚动,提高待滚动字符滚动区域的灵活性。

本实施例提供的方案,本发明通过将所述待滚动字符及初始坐标参数传入预设函数,实现待滚动字符在显示界面进行滚动,摆脱传统函数通过获取焦点实现跑马灯的方式,从而提高用户体验。

进一步地,如图3所示,基于第一实施例提出本发明字符滚动显示方法第二实施例,在本实施例中,所述步骤s10之前,所述方法包括:

步骤s01,获取所述预设区域的高度、所述预设区域上边框到所述待滚动字符基线的距离以及所述预设区域下边框到所述待滚动字符基线的距离;

在本实施例中,所述预设区域的高度可为drawtext函数建立的显示区域的高度。

需要说明的是,所述预设函数可为canvas.drawtext(text,x,y,paint),其中y表示的是待滚动字符基线的坐标参数,要使待滚动字符在显示区域进行居中显示,是由所述基线的坐标参数决定的,通过确定基线的坐标参数从而达到待滚动字符居中显示,提高用户体验。

步骤s02,根据所述高度、所述预设区域上边框到所述待滚动字符基线的距离以及所述预设区域下边框到所述待滚动字符基线的距离,计算出所述所述待滚动字符基线的坐标参数,将所述待滚动字符基线的坐标参数送入预设函数,从而使所述待滚动字符在所述预设区域居中显示。

在本实施例中,通过下述代码实现:

paint.settextalign(paint.align.left);

paint.fontmetricsintfontmetrics=paint.getfontmetricsint();

intheigit=getmeasuredheight();

y=(heigit-fontmetrics.bottom+fontmetrics.top)/2-fontmetrics.top;

其中,height表示显示区域的高度,y表示待滚动字符基线的坐标参数,paint.settextalign(paint.align.left)表示待滚动字符在当前坐标参数的右边显示,fontmetrics.top表示预设区域上边框到所述待滚动字符基线的距离,fontmetrics.bottom预设区域下边框到所述待滚动字符基线的距离,通过上述参数计算出待滚动字符基线的坐标参数。

需要说明的是,通过公式(heigit-fontmetrics.bottom+fontmetrics.top)/2-fontmetrics.top计算出待滚动字符基线的坐标参数,通过所述计算的待滚动字符基线的坐标参数可确定所述待滚动字符的位置,即将待滚动字符进行居中显示。

可以理解的是,还可通过其他公式实现上述相同或相似的功能,本实施例对此不作限制。

在本实施例中,可通过所述公式将待滚动字符进行居中显示,还可将待滚动字符设置为其他位置进行显示,本实施例对此不作限制。

本实施例通过获取所述预设区域的高度、所述预设区域上边框到所述待滚动字符基线的距离以及所述预设区域下边框到所述待滚动字符基线的距离,根据所述参数利用计算公式确定所述滚动字符基线位置,即可将待滚动字符进行居中显示,从而提高用户体验。

进一步地,如图4所示,基于第一实施例或第二实施例提出本发明字符滚动显示方法第三实施例,在本实施例中,所述步骤s10具体包括:

步骤s101,获取当前显示界面的分辨率,根据所述分辨率调整所述初始坐标参数。

需要说明的是,在一般情况下,将所述初始坐标参数设置为预设参数,可将所述待滚动字符设置在预设位置,所述预设位置一般为待滚动字符在x轴或y轴的坐标参数,但是,如果在不同分辨率的显示界面进行显示时,所述待滚动字符的初始位置可能发生改变。

为了适应不同分辨率的显示界面,通过获取当前界面的分辨率,根据所述分辨率调整初始坐标参数,例如待滚动字符从右向左滚动,设置待滚动字符的初始坐标参数为显示界面的宽度,在这种情况下,待滚动字符为初始不可见,如果将初始参数设置为预设参数,例如将待滚动字符的初始坐标设置为768,则在当前显示界面的分辨率为1920*1080时,待滚动字符可能位于x轴768位置,而无法达到初始不可见的效果,在这种情况下,通过将初始坐标参数设置为显示界面的宽度,从而在不同分辨率的显示界面进行显示时,先通过获取当前显示界面的分辨率,通过所述分辨率参数调整所述初始坐标参数,从而适应不同分辨率的显示界面进行显示。

本实施例通过获取当前显示界面的分辨率,根据所述分辨率调整初始坐标参数,以适应不同分辨率显示界面进行显示,提高用户体验。

进一步地,如图5所示,基于第一实施例、第二实施例或第三实施例提出本发明字符滚动显示方法第四实施例,在本实施例中,所述方法包括:

步骤s50,调用点击函数,获取所述待滚动字符的点击事件。

需要说明的是,当待滚动字符在显示界面进行滚动时,所述待滚动字符可能包括用户感兴趣的热点话题的链接信息,用户通过点击所述链接信息进行相关信息的查看,但是无法获取到用户的点击信息,即无法对用户关注的热点话题进行统计。

在本实施例中,可通过调用点击函数,获取所述待滚动字符的点击事件,即可获取到用户所关注的热点话题,根据获取到的热点话题,可对用户感兴趣的热点话题进行统计,从而可以数据为导向优化推送消息。

下面以调用点击函数以onclick为例进行说明,在待滚动字符进行滚动时,可通过调用所述点击函数,获取所述待滚动字符的点击事件,从而对待滚动字符进行优化。假设待滚动字符为天气预报,通过获取用户点击天气预报的点击事件,可根据所述点击事件进行统计,获取用户对于天气预报的点击频率,并将所述点击频率与预设频率阈值进行比较,如果所述点击频高于预设频率阈值,认定该用户对天气预报比较感兴趣,则提高天气预报的推送频率,从而提高用户体验。

本实施例可通过调用点击函数,获取所述待滚动字符的点击事件,可根据用户的点击事件进行热点统计,从而扩展字符滚动显示功能,提高用户体验。

进一步地,如图6所示,基于第一实施例、第二实施例、第三实施例或第四实施例提出本发明字符滚动显示方法第五实施例,在本实施例中,所述方法包括:

步骤s60,调用定时器函数,将所述待滚动字符进行暂停停止。

当待滚动字符在显示界面进行滚动时,由于滚动速率较快,用户可能对感兴趣的滚动信息无法完全查看,所述滚动信息在显示界面就已经滚动完成,在这种情况下,用户需要将所述滚动信息从开始滚动的位置重新进行查看,从而浪费用户的时间,不利于用户体验。

在本实施例中,可通过调用定时器函数,将所述待滚动字符进行暂停停止。

下面以调用定时器函数timer和timertask为例进行说明,在待滚动字符进行滚动时,可先通过调用点击函数,获取用户的点击事件,再通过timer和timertask函数,对所述待滚动字符进行暂停停止。例如待滚动字符为天气预报,在进行天气预报滚动时,获取用户的点击事件,即用户需要进行暂停停止的内容,根据所述点击事件,通过调用定时器函数timer和timertask,将点击内容进行暂停停止,从而在滚动速率较快的情况下,提高用户的观感体验。

本实施例可通过调用定时器函数,根据用户的需求将所述待滚动字符进行暂停停止,从而扩展字符滚动显示功能,提高用户体验。

此外,本发明实施例还提出一种存储介质,所述存储介质上存储有字符滚动显示程序,所述字符滚动显示程序被处理器执行时实现如下操作:

获取待滚动字符的初始坐标参数;

将所述待滚动字符及初始坐标参数传入预设函数,使所述待滚动字符从所述初始坐标参数对应的位置沿预设方向在预设区域内进行滚动;

获取所述待滚动字符在预设区域内的当前坐标参数;

在所述当前坐标参数为预设坐标参数时,将所述待滚动字符及初始坐标参数重新传入所述预设函数,使所述待滚动字符再次从所述初始坐标参数对应的位置沿预设方向在预设区域内进行滚动。

进一步地,所述字符滚动显示程序被处理器执行时还实现如下操作:

通过调用drawtext函数在当前显示界面中建立所述预设区域。

进一步地,所述字符滚动显示程序被处理器执行时还实现如下操作:

获取所述预设区域的高度、所述预设区域上边框到所述待滚动字符基线的距离以及所述预设区域下边框到所述待滚动字符基线的距离;

根据所述高度、所述预设区域上边框到所述待滚动字符基线的距离以及所述预设区域下边框到所述待滚动字符基线的距离,计算出所述所述待滚动字符基线的坐标参数,将所述待滚动字符基线的坐标参数送入预设函数,从而使所述待滚动字符在所述预设区域居中显示。

进一步地,所述字符滚动显示程序被处理器执行时还实现如下操作:

获取当前显示界面的分辨率,根据所述分辨率调整所述初始坐标参数。

进一步地,所述字符滚动显示程序被处理器执行时还实现如下操作:

调用点击函数,获取所述待滚动字符的点击事件。

进一步地,所述字符滚动显示程序被处理器执行时还实现如下操作:

调用定时器函数,将所述待滚动字符进行暂停停止。

本实施例提供的方案,本发明通过将所述待滚动字符及初始坐标参数传入预设函数,实现待滚动字符在显示界面进行滚动,摆脱传统函数通过获取焦点实现跑马灯的方式,从而提高用户体验。

需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。

上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。

以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1