1.一种弹幕显示方法,其特征在于,所述方法包括:构建视图控件,包括:调用TextView构建一个空的textView控件;
在所述视图控件填充弹幕相关的样式信息;
对所述视图控件的位置信息进行初始化操作;
获取布局参数对象;
根据所述布局参数对象设置弹幕布局位置信息;
将所述弹幕布局位置信息添加到所述视图控件中;
将所述视图控件添加到预设的弹幕容器对象中;
获取用户的弹幕显示设置指令,所述指令中包括弹幕显示区域高度设置信息,所述弹幕显示区域高度设置信息中包括设置弹幕显示区域高度的信息;
根据所述弹幕显示设置指令从管理队列中取出所有的当前正在显示的弹幕textView控件对应的目标唯一标示符,并通过目标唯一标示符找到对应的目标textView控件;设定目标textView控件在屏幕水平移动距离Sx,其中,所述目标textView控件为当前正在显示的弹幕对应的textView控件;将弹幕的水平移动速度标记为Vx,通过Sx/Vx计算弹幕平滑变化的时间dT;根据所述弹幕显示区域高度设置信息,计算在dT时间内运动的垂直距离和垂直速度Vy;取目标textView控件预设的水平动画,根据dT和Vy为所述目标textView控件构建一个垂直动画;定义一个组合动画,并将所述水平动画和所述垂直动画添加到组合动画的对象中;通过调用组合动画开启水平动画和垂直动画的执行,在视频中实现基于所述目标textView控件的弹幕显示;通过调用组合动画开启水平动画和垂直动画的执行,在视频中实现基于所述目标textView控件的弹幕显示;
所述获取用户的弹幕显示设置指令之前,还包括:构建一个显示弹幕的管理队列;建立弹幕textView控件与弹幕的唯一标示符之间的对应关系;当弹幕准备进入屏幕执行移动动画的时,获取当前屏幕显示的textView控件对应的弹幕的唯一标示符;将当前屏幕显示的textView控件对应的弹幕的唯一标示符存储到管理队列中;当当前屏幕显示的textView控件移出屏幕时,将当前屏幕显示的textView控件对应的弹幕的唯一标示符移出管理队列。
2.根据权利要求1所述的方法,其特征在于,所述在所述视图控件填充弹幕相关的样式信息,包括:通过调用textView控件中的textView.setTextColor将弹幕信息的文本信息设置成预设颜色;
通过调用textView.setSize设置字体为预设大小;
通过调用textView.setText来设置具体的弹幕内容信息。
3.根据权利要求2所述的方法,其特征在于,所述获取布局参数对象包括:通过调用ViewGroup.layoutParams params = new ViewGroup.layoutParams()方法来得到一个ViewGroup的布局参数对象params;
所述根据所述布局参数对象设置弹幕布局位置信息,包括:调用params对象中的params.width = ViewGroup.layoutParams.WRAP_CONTENT将宽度信息设置成包裹内容大小;
通过params对象中的params.height= ViewGroup.layoutParams.WRAP_CONTENT将高度信息设置成包裹内容,动态适配文字的高度信息。
4.根据权利要求3所述的方法,其特征在于,所述将所述弹幕布局位置信息添加到所述视图控件中,包括:
通过调用textView.setLayoutParams(params)将设置好的弹幕布局位置信息params应用到textView控件上。
5.根据权利要求4所述的方法,其特征在于,所述将所述视图控件添加到预设的弹幕容器对象中,包括:
调用danmuContainer对象中的danmuContainer.addView(textView将textView控件添加到弹幕容器对象danmuContainer中。
6.一种弹幕显示装置,其特征在于,所述装置包括:构建单元,用于构建视图控件,具体用于:调用TextView构建一个空的textView控件;
填充单元,用于在所述视图控件填充弹幕相关的样式信息;
初始化单元,用于对所述视图控件的位置信息进行初始化操作;
第一获取单元,用于获取布局参数对象;
设置单元,用于根据所述布局参数对象设置弹幕布局位置信息;
添加单元,用于将所述弹幕布局位置信息添加到所述视图控件中,并将所述视图控件添加到预设的弹幕容器对象中;
第二获取单元,用于获取用户的弹幕显示设置指令,所述指令中包括弹幕显示区域高度设置信息,所述弹幕显示区域高度设置信息中包括设置弹幕显示区域高度的信息;
显示单元,用于根据所述弹幕显示设置指令从管理队列中取出所有的当前正在显示的弹幕textView控件对应的目标唯一标示符,并通过目标唯一标示符找到对应的目标textView控件;设定目标textView控件在屏幕水平移动距离Sx,其中,所述目标textView控件为当前正在显示的弹幕对应的textView控件;将弹幕的水平移动速度标记为Vx,通过Sx/Vx计算弹幕平滑变化的时间dT;根据所述弹幕显示区域高度设置信息,计算在dT时间内运动的垂直距离和垂直速度Vy;取目标textView控件预设的水平动画,根据dT和Vy为所述目标textView控件构建一个垂直动画;定义一个组合动画,并将所述水平动画和所述垂直动画添加到组合动画的对象中;通过调用组合动画开启水平动画和垂直动画的执行,在视频中实现基于所述目标textView控件的弹幕显示;通过调用组合动画开启水平动画和垂直动画的执行,在视频中实现基于所述目标textView控件的弹幕显示;所述获取用户的弹幕显示设置指令之前,还包括:构建一个显示弹幕的管理队列;建立弹幕textView控件与弹幕的唯一标示符之间的对应关系;当弹幕准备进入屏幕执行移动动画的时,获取当前屏幕显示的textView控件对应的弹幕的唯一标示符;将当前屏幕显示的textView控件对应的弹幕的唯一标示符存储到管理队列中;当当前屏幕显示的textView控件移出屏幕时,将当前屏幕显示的textView控件对应的弹幕的唯一标示符移出管理队列。
7.根据权利要求6所述的装置,其特征在于,所述填充单元具体用于:
通过调用textView对象中的textView.setTextColor将弹幕信息的文本信息设置成预设颜色;
通过调用textView.setSize设置字体为预设大小;
通过调用textView.setText来设置具体的弹幕内容信息。
8.根据权利要求7所述的装置,其特征在于,所述第一获取单元具体用于:通过调用ViewGroup.layoutParams params = new ViewGroup.layoutParams()方法来得到一个ViewGroup的布局参数对象params;
所述设置单元具体用于:
调用params对象中的params.width = ViewGroup.layoutParams.WRAP_CONTENT将宽度信息设置成包裹内容大小;
通过params对象中的params.height= ViewGroup.layoutParams.WRAP_CONTENT将高度信息设置成包裹内容,动态适配文字的高度信息。
9.一种电子设备,其特征在于,包括:存储器,处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其中,所述处理器执行所述计算机程序时可以实现权利要求1至5任一所述的方法。