# DanmuDemo **Repository Path**: gentlemanyc/DanmuDemo ## Basic Information - **Project Name**: DanmuDemo - **Description**: Android自定义弹幕的实现 - **Primary Language**: Android - **License**: Not specified - **Default Branch**: ScrollerVersion - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2019-03-10 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # DanmuDemo #### 介绍 Android自定义弹幕的实现 #### 软件架构 - 项目使用kotlin编写,并且使用了androidX。 - 弹幕内容的载体:DanmuMessage - 弹幕具实现:DanmuEngine 发射一条弹幕:创建一个DanmuMessage对象,创建一个DanmuEngine对象,调用danmuEngine.show()方法将弹幕发射出去。 ``` val danmuEngine = DanmuEngine(viewGroup, 0, videoView.height / 2, 3) danmuEngine.elevation = 1f val danmuMessage = DanmuMessage() danmuMessage.content ="双击666" danmuMessage.imgRes = R.drawable.icon danmuMessage.textSize = 18F danmuMessage.textColor = Color.RED danmuMessage.danmuAnimator = StickDanMuAnimator() danmuEngine?.post(danmuMessage) ``` # 实现思路 在视频view的上层ViewGroup添加TextView并使其滚动 ## 实现功能 1. 弹幕能够实现在屏幕上滚动,可以指定滚动的方向 2. 弹幕的文字大小颜色样式等可以自定义 3. 可以实现不同样式的弹幕,如静止的,滚动的,带图片的 4. 动画效果流畅,资源占用少(弹幕view循环复用)。 5. 实现弹幕层级控制。 ## 截图: ![截图](https://img-blog.csdnimg.cn/20190314223057130.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2dlbnRsZW1hbnlj,size_16,color_FFFFFF,t_70 "在这里输入图片标题")