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