当前位置: 首页 > news >正文

EasyBarrage——Android平台轻量级弹幕效果

概述

EasyBarrage是Android平台的一种轻量级弹幕效果目前支持以下设置:

  1. 自定义字体颜色,支持随机颜色;
  2. 自定义字体大小,支持随机字体大小;
  3. 支持边框显示,用于区分自己的弹幕和其他弹幕;
  4. 自定义边框颜色;
  5. 弹幕数据是否允许重复;
  6. 自定义单屏显示的最大弹幕数量;
  7. 数据不重叠;
  8. 支持动态添加弹幕;
  9. 不依赖VideoView,数据自动循环显示。

github:github.com/shiweibsw/E…

显示效果

横屏

竖屏

使用

1 build.gradle

compile 'com.kd.easybarrage:library:0.0.1'复制代码

2 xml

 <com.kd.easybarrage.BarrageView
    android:id="@+id/barrageView"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_above="@+id/send"
    app:allow_repeat="true"
    app:border_color="@color/colorAccent"
    app:line_height="20dp"
    app:max_text_size="20"
    app:min_text_size="14"
    app:random_color="true"
    app:size="200"/>复制代码

属性说明

属性说明
max_text_size最大字体
min_text_size最小字体
size单屏最大弹幕数量
line_height行高
border_color边框弹幕的边框颜色
random_color是否启用随机颜色
allow_repeat弹幕内容是否可重复

3 Java代码

添加弹幕数据

for (int i = 0; i < 200; i++) {
        mBarrages.add(new Barrage("弹幕数据" + i));
    }   复制代码

注意Barrage对象有多种构造,可以设置字体颜色及是否显示边框,例如

3.1指定字体颜色

Barrage b=new Barrage("弹幕数据",R.color.colorAccent);复制代码

需要设置 app:random_color="false" 才有效

3.2显示边框

Barrage b=new Barrage("弹幕数据",true);复制代码

3.3指定颜色及显示边框

Barrage b=new Barrage("弹幕数据",R.color.colorAccent,true);复制代码

3.3只显示内容

Barrage b=new Barrage("弹幕数据");复制代码

添加一条弹幕

barrageView.addBarrage(new Barrage("我是新弹幕", true));复制代码

结束时调用destroy方法

barrageView.destroy();复制代码

相关文章:

  • 2、配置logstash
  • 关于硬盘分区管理mbr gpt
  • Ubuntu下安装man中文手册
  • 定位Section的FooterView
  • 第十六周oj刷题——Problem I: 改错题:类中私有成员的訪问
  • 第2章第2节练习题3 使用队列模拟渡口管理
  • Zookeeper客户端Curator---Getting Started
  • [Step By Step]SAP HANA创建属性视图(Attribute View)
  • 如何在Linux上检测硬盘上的坏道和坏块
  • Linux高速下载工具——Axel
  • 低功耗M2M市场广阔 芯片设计如何降耗
  • 3.垃圾回收器
  • Debian下无root权限使用Python访问Oracle
  • bzoj 1860: [Zjoi2006]Mahjong麻将 题解
  • git使用点滴:如何查看commit的内容和git 获取最近一次提交的commit id
  • 「前端早读君006」移动开发必备:那些玩转H5的小技巧
  • 5分钟即可掌握的前端高效利器:JavaScript 策略模式
  • Fundebug计费标准解释:事件数是如何定义的?
  • hadoop入门学习教程--DKHadoop完整安装步骤
  • Java,console输出实时的转向GUI textbox
  • Koa2 之文件上传下载
  • oschina
  • Rancher如何对接Ceph-RBD块存储
  • vue:响应原理
  • 紧急通知:《观止-微软》请在经管柜购买!
  • 世界编程语言排行榜2008年06月(ActionScript 挺进20强)
  • 一个6年java程序员的工作感悟,写给还在迷茫的你
  • 在Mac OS X上安装 Ruby运行环境
  • 数据可视化之下发图实践
  • ![CDATA[ ]] 是什么东东
  • # 日期待t_最值得等的SUV奥迪Q9:空间比MPV还大,或搭4.0T,香
  • # 深度解析 Socket 与 WebSocket:原理、区别与应用
  • #Js篇:单线程模式同步任务异步任务任务队列事件循环setTimeout() setInterval()
  • #微信小程序:微信小程序常见的配置传旨
  • (10)STL算法之搜索(二) 二分查找
  • (2)(2.10) LTM telemetry
  • (webRTC、RecordRTC):navigator.mediaDevices undefined
  • (附源码)ssm本科教学合格评估管理系统 毕业设计 180916
  • (六)vue-router+UI组件库
  • (三十五)大数据实战——Superset可视化平台搭建
  • (原創) 物件導向與老子思想 (OO)
  • (转)ABI是什么
  • (转载)Linux网络编程入门
  • .NET : 在VS2008中计算代码度量值
  • .NET Core 中插件式开发实现
  • .NET开发不可不知、不可不用的辅助类(一)
  • .net使用excel的cells对象没有value方法——学习.net的Excel工作表问题
  • @JsonSerialize注解的使用
  • @transactional 方法执行完再commit_当@Transactional遇到@CacheEvict,你的代码是不是有bug!...
  • @Transactional 详解
  • [ 常用工具篇 ] AntSword 蚁剑安装及使用详解
  • [ 蓝桥杯Web真题 ]-布局切换
  • [.net] 如何在mail的加入正文显示图片
  • [AutoSAR系列] 1.3 AutoSar 架构
  • [C++]18:set和map的使用