一个用粒子动画显示文字的 Android 自定义 View
来源:互联网 发布:网络有初心 编辑:程序博客网 时间:2024/04/29 17:35
https://github.com/Yasic/ParticleTextView
项目地址
一。
1. 引入依赖
compile 'yasic.library.ParticleTextView:particletextview:0.0.5'
- 加入到布局文件中
android:id="@+id/particleTextView" android:layout_width="match_parent" android:layout_height="match_parent" />```3. 实例化配置信息类 ParticleTextViewConfig
ParticleTextView particleTextView = (ParticleTextView) findViewById(R.id.particleTextView);
RandomMovingStrategy randomMovingStrategy = new RandomMovingStrategy();
ParticleTextViewConfig config = new ParticleTextViewConfig.Builder()
.setRowStep(8)
.setColumnStep(8)
.setTargetText(“Random”)
.setReleasing(0.2)
.setParticleRadius(4)
.setMiniDistance(0.1)
.setTextSize(150)
.setMovingStrategy(randomMovingStrategy)
.instance();
particleTextView.setConfig(config);
4. 启动动画
particleTextView.startAnimation();
5. 暂停动画
particleTextView1.stopAnimation();
“`
二。
粒子移动轨迹策略 MovingStrategy
1.RandomMovingStrategy
2.HorizontalStrategy
3.BidiHorizontalStrategy
4. VerticalStrategy
5.BidiVerticalStrategy
配置信息类 ParticleTextViewConfig
配置信息类采用工厂模式创建,以下属性均为可选属性。
设置显示的文字
setTargetText(String targetText)
设置文字大小
setTextSize(int textSize)
设置粒子半径
setParticleRadius(float radius)
设置横向和纵向像素采样间隔
采样间隔越小生成的粒子数目越多,但绘制帧数也随之降低,建议结合文字大小与粒子半径进行调节。
setColumnStep(int columnStep)
setRowStep(int rowStep)
设置粒子运动速度
setReleasing(double releasing)
指定时刻,粒子的运动速度由下列公式决定,其中 Vx 和 Vy 分别是 X 与 Y 方向上的运动速度,target 与 source 分别是粒子的目的坐标与当前坐标
Vx = (targetX - sourceX) * releasing
Vy = (targetY - sourceY) * releasing
设置最小判决距离
当粒子与目的坐标距离小于最小判决距离时将直接移动到目的坐标,从而减少不明显的动画过程。
setMiniDistance(double miniDistance)
设置粒子颜色域
默认使用完全随机的颜色域
setParticleColorArray(String[] particleColorArray)
设置粒子移动轨迹策略
默认使用随机分布式策略
setMovingStrategy(MovingStrategy movingStrategy)
设置不同路径间动画的间隔时间
delay < 0 时动画不循环
setDelay(Long delay)
ParticleTextView类
指定配置信息类
setConfig(ParticleTextViewConfig config)
开启动画
void startAnimation()
停止动画
void stopAnimation()
获取动画是否暂停
暂停是指动画完成了一段路径后的暂留状态
boolean isAnimationPause()
获取动画是否停止
停止是指动画完成了一次完整路径后的停止状态
boolean isAnimationStop()
ParticleTextSurfaceView 类
继承自 SurfaceView 类,利用子线程进行 Canvas 绘制,在多个组件渲染情况下效率更高。所有 API 与 ParticleTextView 类一致。
效果图
- 一个用粒子动画显示文字的 Android 自定义 View
- 粒子动画显示文字的Android控件
- Android自定义可以在文字上方显示备注的View
- Android自定义控件View(实现控件的动画效果,自定义类画简略时钟,TextView中文字逐一显示,动态设置progress的圆环/扇形ProgressBar等)
- Android自定义一个带缩放动画的倒计时View
- Android自定义View:一个精致的打钩小动画
- 一次增加一个文字,逐次显示的文字显示动画
- Android 自定义view之 Xfermode 制作动态文字加载动画
- Android用View实现显示中英文混排的文字
- 一个自定义的 View,支持显示下载进度,完成和结束的时候会有酷酷的动画。
- Android 自定义View SeekBar 带浮动文字显示
- Android自定义View单TextView显示多种文字样式
- Android 自定义View的Path动画
- Android自定义View的动画实现方法
- Android自定义View之实现一个动态的文字闪动效果
- Android进阶——自定义View之扩展系统控件的另一种思路实现渐变文字动画的TextView
- 自定义View -- 实现字符串一个一个显示的动态动画
- 自定义View绘制文字居中显示
- 总线、设备和驱动的关系
- 初识 nodejs
- android log丢失(三)动态切换logd机制和kernel机制
- C#中的()=>
- SAE数据库完美备份加强版
- 一个用粒子动画显示文字的 Android 自定义 View
- 阿里云将增设马来西亚数据中心_纳吉布总理大赞中国技术
- js代码段3:限制只能输入数字(兼容)
- 编码和字符串
- 【深入学习java集合系列】LinkedHashMap的底层实现
- iphone手机找回历程
- 你所不知道的js讲解
- 如何使用Bandicam录制1080P超清视频上传优酷?
- linux 查看硬件配置命令