ParticleTextView
介绍:
一个用粒子动画显示文字的 Android 自定义 View
运行效果:
使用说明:
ParticleTextView
一、总述
ParticleTextView 是一个 Android 平台的自定义 view 组件,可以用彩色粒子组成指定的文字,并配合多种动画效果和配置属性,呈现出丰富的视觉效果。
二、使用
1. 引入依赖
compile 'yasic.library.ParticleTextView:particletextview:0.0.3'
2. 加入到布局文件中
<com.yasic.library.particletextview.View.ParticleTextView
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();
三、API说明
粒子移动轨迹策略 MovingStrategy
移动轨迹策略继承自抽象类 MovingStrategy,可以自己继承并实现其中的 setMovingPath 方法,以下是自带的几种移动轨迹策略。
- RandomMovingStrategy
- CornerStrategy
- HorizontalStrategy
- BidiHorizontalStrategy
- VerticalStrategy
- 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()
已下载
0