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

Random (1).gif

  • CornerStrategy

Corner.gif

  • HorizontalStrategy

Horizontal.gif

  • BidiHorizontalStrategy

BidiHorizontal.gif

  • VerticalStrategy

Vertical.gif

  • BidiVerticalStrategy

BidiVertical.gif

配置信息类 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