1.一种弹幕显示方法,其特征在于,所述方法包括:
构建一个显示弹幕的管理队列,所述管理队列用于维护当前正屏幕中间显示的弹幕信息;
建立弹幕textView控件与弹幕的唯一标识符之间的对应关系,所述弹幕的唯一标识符是一个String类型的数据;
当弹幕准备进入屏幕执行移动动画的时,获取当前屏幕显示的textView控件对应的弹幕的唯一标识符;
将当前屏幕显示的textView控件对应的弹幕的唯一标识符存储到所述管理队列中;
当当前屏幕显示的textView控件移出屏幕时,将当前屏幕显示的textView控件对应的弹幕的唯一标识符移出所述管理队列;
获取用户的弹幕显示设置指令,所述指令中包括弹幕显示区域高度设置信息;
根据所述指令从所述管理队列中取出所有的当前正在显示的弹幕textView控件对应的目标唯一标识符,并通过目标唯一标识符找到对应的目标textView控件;
获取所述目标textView控件当前在所述弹幕容器对象中的高度位置信息;
根据所述弹幕显示区域高度设置信息和所述目标textView控件当前在所述弹幕容器对象中的高度位置信息,调整所述目标textView控件在所述弹幕容器对象中的高度位置信息;
根据调整后的所述目标textView控件在所述弹幕容器对象中的高度位置信息显示视频中弹幕。
2.根据权利要求1所述的方法,其特征在于,所述获取当前屏幕显示的textView控件对应的弹幕的唯一标识符,包括:通过调用textView.hashCode()获取当前屏幕显示的textView控件对应的弹幕的唯一标识符。
3.根据权利要求2所述的方法,其特征在于,所述管理队列为danmuShowQueue队列,所述将当前屏幕显示的textView控件对应的弹幕的唯一标识符存储到所述管理队列中,包括:调用danmuShowQueue队列中的danmuShowQueue.add(tvHashCode)将当前屏幕显示的textView控件对应的弹幕的唯一标识符存储到danmuShowQueue队列中。
4.根据权利要求3所述的方法,其特征在于,所述当当前屏幕显示的textView控件移出屏幕时,将当前屏幕显示的textView控件对应的弹幕的唯一标识符移出所述管理队列包括:当当前屏幕显示的textView控件移出屏幕时,通过调用danmuShowQueue.poll()将当前屏幕显示的textView控件对应的弹幕的唯一标识符从danmuShowQueue队列中移除出去。
5.根据权利要求4所述的方法,其特征在于,所述根据所述指令从所述管理队列中取出所有的当前正在显示的弹幕textView控件对应的目标唯一标识符,并通过目标唯一标识符找到对应的目标textView控件,包括:从danmuShowQueue队列中取出所有的当前正在显示的textView控件对应的目标唯一标识符信息,通过弹幕的唯一标识符信息找到对应的目标textView控件;
所述获取所述目标textView控件当前在所述弹幕容器对象中的高度位置信息,包括:调用目标textView控件中的textView.getLayoutParams()获取到该目标textView控件的布局参数信息params;
通过调用params中的params.getHeight()获取所述目标textView控件在所述弹幕容器对象中的高度位置信息。
6.一种弹幕显示装置,其特征在于,所述装置包括:
构建单元,用于构建一个显示弹幕的管理队列,所述管理队列用于维护当前正屏幕中间显示的弹幕信息;
建立单元,用于建立弹幕textView控件与弹幕的唯一标识符之间的对应关系,所述弹幕的唯一标识符是一个String类型的数据;
第一获取单元,用于当弹幕准备进入屏幕执行移动动画的时,获取当前屏幕显示的textView控件对应的弹幕的唯一标识符;
队列管理单元,用于将当前屏幕显示的textView控件对应的弹幕的唯一标识符存储到所述管理队列中;当当前屏幕显示的textView控件移出屏幕时,将当前屏幕显示的textView控件对应的弹幕的唯一标识符移出所述管理队列;
第二获取单元,用于获取用户的弹幕显示设置指令,所述指令中包括弹幕显示区域高度设置信息;
第三获取单元,用于根据所述指令从所述管理队列中取出所有的当前正在显示的弹幕textView控件对应的目标唯一标识符,并通过目标唯一标识符找到对应的目标textView控件;获取所述目标textView控件当前在所述弹幕容器对象中的高度位置信息;
调整单元,用于根据所述弹幕显示区域高度设置信息和所述目标textView控件当前在所述弹幕容器对象中的高度位置信息,调整所述目标textView控件在所述弹幕容器对象中的高度位置信息;
显示单元,用于根据调整后的所述目标textView控件在所述弹幕容器对象中的高度位置信息显示视频中弹幕。
7.根据权利要求6所述的装置,其特征在于,所述第一获取单元具体用于:通过调用textView.hashCode()获取当前屏幕显示的textView控件对应的弹幕的唯一标识符tvHashCode。
8.根据权利要求7所述的装置,其特征在于,所述管理队列为danmuShowQueue队列,所述队列管理单元具体用于:调用danmuShowQueue队列中的danmuShowQueue.add(tvHashCode)将当前屏幕显示的textView控件对应的弹幕的唯一标识符存储到danmuShowQueue队列中;
当当前屏幕显示的textView控件移出屏幕时,通过调用danmuShowQueue.poll()将当前屏幕显示的textView控件对应的弹幕的唯一标识符从danmuShowQueue队列中移除出去。
9.根据权利要求8所述的装置,其特征在于,所述第三获取单元具体用于:从danmuShowQueue队列中取出所有的当前正在显示的textView控件对应的目标唯一标识符信息,通过弹幕的唯一标识符信息找到对应的目标textView控件;
所述获取所述目标textView控件当前在所述弹幕容器对象中的高度位置信息,包括:调用目标textView控件中的textView.getLayoutParams()获取到该目标textView控件的布局参数信息params;
通过调用params中的params.getHeight()获取所述目标textView控件在所述弹幕容器对象中的高度位置信息。
10.一种电子设备,其特征在于,包括:存储器,处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其中,所述处理器执行所述计算机程序时可以实现权利要求1至5任一所述的方法。