多样式弹幕视图控件 XDanmuku
- 授权协议: MIT
- 开发语言: Java
- 操作系统: 跨平台
- 软件首页: https://github.com/hust201010701/XDanmuku
- 软件文档: https://github.com/hust201010701/XDanmuku
软件介绍
XDanmuku
一种支持多种弹幕样式的弹幕视图控件
本项目是一个开源的弹幕控件库,能够支持多种样式弹幕,弹幕点击监听,弹幕分区域显示,自定义移动速度等功能,项目原理是通过自定义ViewGroup。可能是目前轻量级弹幕库中功能最强大的一款了。
效果
常规样式
点击事件
多种弹幕样式
分区域显示
GIF效果图
使用
0. 添加依赖
1. 导入xdanmuku源码
你可以直接下载本项目xdanmuku模块,并导入项目目录,并添加依赖compile project(':xdanmuku')
2. Gradle
先把jitpack仓库添加到项目根 build.gradle(Project)文件中,
allprojects {
repositories {
...
maven { url 'https://jitpack.io' }
}
}然后在你的项目中添加依赖
dependencies {
compile 'com.github.hust201010701:XDanmuku:master-SNAPSHOT'
}其他添加依赖的方式,如maven等请自行到点我查看。
1. 添加控件
在布局xml中添加控件
<com.orzangleli.xdanmuku.DanmuContainerView android:id="@+id/danmuContainerView" android:layout_width="match_parent" android:layout_height="240dp" />
2. 添加自定义弹幕Entity(需要继承自Model)
3. 继承XAdapter
类似于ListView的BaseAdapter的结构,具体参照 DanmuAdapter.java
4. 添加弹幕
DanmuEntity danmuEntity = new DanmuEntity();
danmuEntity.setContent(SEED[random.nextInt(5)]);
danmuEntity.setType(0);
danmuEntity.setTime("23:20:11");
danmuContainerView.addDanmu(danmuEntity);5. 弹幕点击事件监听
//弹幕点击事件
danmuContainerView.setOnItemClickListener(new DanmuContainerView.OnItemClickListener() {
@Override
public void onItemClick(Model model) {
DanmuEntity danmuEntity = (DanmuEntity) model;
Toast.makeText(MainActivity.this, danmuEntity.content, Toast.LENGTH_SHORT).show();
}
});6. 设置弹幕移动速度
DanmuContainerView中预设了三种弹幕移动速度:
public static final float LOW_SPEED = 0.25F; public static final float NORMAL_SPEED = 0.6F; public static final float HIGH_SPEED = 1.0F;
设置速度通过setSpeed方法:
danmuContainerView.setSpeed(DanmuContainerView.HIGH_SPEED);
同时你可以传递具体的float型速度:
danmuContainerView.setSpeed(0.4F);
7. 弹幕显示区域
本人将弹幕控件按照竖向均分为3份,分别为GRAVITY_TOP,GRAVITY_CENTER,GRAVITY_BOTTOM。用户可以自由组合显示区域,默认情况下全区域(GRAVITY_FULL)显示。设置要显示的区域通过setGravity方法实现,参数可以使用 | 进行连接。
//只在上方和中间区域显示弹幕 danmuContainerView.setGravity(DanmuContainerView.GRAVITY_TOP | DanmuContainerView.GRAVITY_CENTER);
JavaScript核心技术
Shelley Powers / 苏敬凯 / 机械工业出版社 / 2007-6 / 45.00
Ajax是当今Web开发领域最流行的词汇。而JavaScript与CSS、XML和DOM几种老技术,加上XMLHttpRequest就构成了Ajax的四大基石。对于JavaScript,一些更资深的同事告诉我的感觉是失望。面对不同的浏览器和浏览器的不同版本,没有优秀的调试开发工具,JavaScript成了软件开发的泥潭。. 而本书的出版则给我们增加了一丝解决这些问题的信心。 它从最简单......一起来看看 《JavaScript核心技术》 这本书的介绍吧!
