Android EasyBarrage实现轻量级弹幕效果

作者:Knight_Davion 时间:2022-03-07 06:46:31 

本文介绍了Android EasyBarrage实现轻量级弹幕效果,分享给大家,具体如下:

概述

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

  1. 自定义字体颜色,支持随机颜色;

  2. 自定义字体大小,支持随机字体大小;

  3. 支持边框显示,用于区分自己的弹幕和其他弹幕;

  4. 自定义边框颜色;

  5. 弹幕数据是否允许重复;

  6. 自定义单屏显示的最大弹幕数量;

  7. 数据不重叠;

  8. 支持动态添加弹幕;

  9. 不依赖VideoView,数据自动循环显示。

github:https://github.com/shiweibsw/EasyBarrage

显示效果

横屏

Android EasyBarrage实现轻量级弹幕效果

竖屏

Android EasyBarrage实现轻量级弹幕效果

使用

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

来源:http://www.jianshu.com/p/60cb223b951b?utm_source=tuicool&utm_medium=referral

标签:Android,弹幕
0
投稿

猜你喜欢

  • 详解如何让Spring MVC显示自定义的404 Not Found页面

    2023-12-12 15:48:47
  • spring boot实战教程之shiro session过期时间详解

    2023-01-05 01:37:47
  • Unity TextMeshPro实现富文本超链接默认字体追加字体

    2021-10-13 23:57:24
  • Java设计模式之接口隔离原则精解

    2022-05-05 16:42:05
  • C#中Predicate<T>与Func<T, bool>泛型委托的用法实例

    2022-11-14 13:28:46
  • Java关系操作符简写介绍

    2023-12-25 12:56:29
  • C#实现一个控制台的点餐系统

    2023-09-03 20:47:24
  • Springboot实现多服务器session共享

    2022-09-06 13:58:34
  • spring springMVC中常用注解解析

    2023-09-14 20:45:46
  • Servlet的5种方式实现表单提交(注册小功能),后台获取表单数据实例

    2022-08-19 20:58:06
  • Android编程之控件状态配置文件实例

    2023-07-26 02:38:54
  • SpringBoot加载应用事件监听器代码实例

    2023-06-15 14:28:07
  • Spring-boot JMS 发送消息慢的解决方法

    2023-02-06 07:50:54
  • Java使用组件编写窗口实现网络图片显示

    2023-04-14 18:06:04
  • C#实现文件筛选读取并翻译的自动化工具

    2021-11-07 18:49:46
  • android在连拍菜单中增加连拍张数选项功能实现代码

    2023-05-27 19:08:38
  • Java基于Tcp协议的socket编程实例

    2022-03-08 00:04:13
  • Java实现解析JSON大文件JsonReader工具详解

    2023-08-21 21:13:14
  • SpringBoot整合WebSocket的客户端和服务端的实现代码

    2023-03-30 04:19:07
  • C#简单的加密类实例

    2022-12-15 11:31:18
  • asp之家 软件编程 m.aspxhome.com