首先依赖弹幕包
dependencies {
//弹幕 compile 'com.github.ctiao:DanmakuFlameMaster:0.5.3'
}
布局文件直接调用弹幕控件DanmakuView,大小就是和视频界面同步即可
<!--弹幕--> <master.flame.danmaku.ui.widget.DanmakuView android:id="@+id/danmaku_view" android:layout_width="match_parent" android:layout_height="match_parent" />
寻找控件
private DanmakuView danmakuView;
danmakuView = (DanmakuView) view.findViewById(R.id.danmaku_view); danmakuView.enableDanmakuDrawingCache(true); danmakuView.setCallback(new DrawHandler.Callback() { @Override public void prepared() { danmakuView.start(); // generateSomeDanmaku(); } @Override public void updateTimer(DanmakuTimer timer) { } @Override public void danmakuShown(BaseDanmaku danmaku) { } @Override public void drawingFinished() { } }); danmakuContext = DanmakuContext.create(); danmakuView.prepare(parser, danmakuContext);//点击屏幕显示和隐藏输入框 danmakuView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { if (llNewedit.getVisibility() == View.GONE) { llNewedit.setVisibility(View.VISIBLE); } else { llNewedit.setVisibility(View.GONE); } } });//添加一条弹幕
/** * 向弹幕View中添加一条弹幕 * * @param content 弹幕的具体内容 * @param withBorder 弹幕是否有边框 */ private void addDanmaku(String content, boolean withBorder) { BaseDanmaku danmaku = danmakuContext.mDanmakuFactory.createDanmaku(BaseDanmaku.TYPE_SCROLL_RL); danmaku.text = content; danmaku.padding = 5; danmaku.textSize = sp2px(20); danmaku.textColor = Color.WHITE; danmaku.setTime(danmakuView.getCurrentTime()); if (withBorder) {danmaku.borderColor = Color.RED;//弹幕边框颜色 } danmakuView.addDanmaku(danmaku); }