Android弹幕快速集成

本文介绍如何在应用中集成弹幕功能,包括依赖配置、布局设置、控件初始化及事件监听等关键步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

首先依赖弹幕包

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);
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值