弹幕现在很流行,特别是在视频播放时,安卓上没有简单好用的弹幕控件.
这里提供一个简单易用的自定义弹幕控件.
项目地址: https://github.com/linsea/OpenDanmaku
2. 在布局文件中加入自定义的弹幕View.
3. 在Activity中生成弹幕对象,并加入到播放列表中.
这里提供一个简单易用的自定义弹幕控件.
项目地址: https://github.com/linsea/OpenDanmaku
使用方法
完整的使用方法请查看项目的Demo.
1. 在build.gradle文件中加入依赖.
1
2
3
|
dependencies {
compile
'com.linsea:opendanmaku:1.0.0@aar'
}
|
2. 在布局文件中加入自定义的弹幕View.
1
2
3
4
5
6
7
8
9
10
|
<
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中生成弹幕对象,并加入到播放列表中.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
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
是否显示航道线及播放帧率,调试时很有用,主要用于调试.