弹幕现在很流行,特别是在视频播放时,安卓上没有简单好用的弹幕控件,于是自己写了一个.
项目地址:
https://github.com/linsea/OpenDanmaku
或者国内开源中国上的镜像:
http://git.oschina.net/dictfb/OpenDanmaku
使用方法
完整的使用方法请查看项目的Demo.
1. 在build.gradle文件中加入依赖.
dependencies { compile ‘com.linsea:opendanmaku:[email protected]‘ }
2. 在布局文件中加入自定义的弹幕View.
<com.opendanmaku.DanmakuView android:id="@+id/danmakuView" android:layout_width="fill_parent" android:layout_height="fill_parent" app:start_Y_offset="0.2" app:end_Y_offset="0.8" app:max_row="4" app:max_running_per_row="2" app:pick_interval="1000" app:show_debug="false" />
3. 在Activity中生成弹幕对象,并加入到播放列表中.
mDanmakuView = (DanmakuView) findViewById(R.id.danmakuView); // add danmaku items: mDanmakuView.addItem(list, true); mDanmakuView.addItem(new DanmakuItem(this, "Hello World", mDanmakuView.getWidth()); //show danmaku and play animation: mDanmakuView.show(); //hide and pause playing: mDanmakuView.hide(); //release all playing and waiting items: mDanmakuView.clear();
DanmakuView的自定义属性
* start_Y_offset
第一条播放航道距离弹幕View上边缘的偏移量,注意值是百分比量,以弹幕View的高度为基准,简而言之就是弹幕View的上边缘空出多少百分比.
* end_Y_offset
与上一个属性类似,最后一条播放航道距离弹幕View上边缘的偏移量,注意值是百分比量,以弹幕View的高度为基准,主要作用是便于在弹幕View的底部留出一定的空白.
* max_row
设置最多多少条播放航道.
* max_running_per_row
每条航道上最多同时有多少条弹幕运行.
* pick_interval
每隔多少毫秒取出一条弹幕来播放.
* show_debug
是否显示航道线及播放帧率,调试时很有用,主要用于调试.
时间: 2024-10-24 23:24:50