视图闪烁效果库
介绍
基于cangjie的闪烁效果库,可以给UI视图添加从上到下、从左到右等不同方向的闪烁效果
1 Shimmer控制器
/**
* 闪烁控制类
*/
public class Shimmer {
/**
* 设置闪烁运动的方向
*
* @param direction 运动方向
*
* @return Shimmer 修改了闪光运动方向的控制器对象
*/
public func setDirection(direction: ShimmerDirections): Shimmer
/**
* 设置闪光的形状
*
* @param shape 闪光形状
*
* @return Shimmer 修改了闪光形状的控制器对象
*/
public func setShape(shape: ShimmerShapes): Shimmer
/**
* 设置闪光的宽度
*
* @param fixedWidth 宽度
*
* @return Shimmer 修改了闪光宽度的控制器对象
*
* @exception IllegalArgumentException 入参为负数时抛出
*/
public func setFixedWidth(fixedWidth: Float64): Shimmer
/**
* 设置闪光的强度,值越大,闪烁越大,生效范围 0-1
*
* @param intensity 强度值
*
* @return Shimmer 修改了闪光强度值的控制器对象
*
* @exception IllegalArgumentException 入参为负数时抛出
*/
public func setIntensity(intensity: Float64): Shimmer
/**
* 设置微光渐变下降的速度,值越大,下降越明显,生效范围 0-1
*
* @param dropOffset 渐变下降的速度
*
* @return Shimmer 修改了闪光渐变下降的速度的控制器对象
*
* @exception IllegalArgumentException 入参为负数时抛出
*/
public func setDropOffset(dropOffset: Float64): Shimmer
/**
* 设置闪光的倾斜角度,生效范围 0-360
*
* @param tilt 倾斜角度
*
* @return Shimmer 修改了闪光倾斜角度的控制器对象
*/
public func setTilt(tilt: Int64): Shimmer
/**
* 设置高光颜色和背景颜色
*
* @param highlight 高光颜色
* @param background 背景颜色
*
* @return Shimmer 修改了颜色的控制器对象
*/
public func setShimmerColor(highlight: Color, background: Color): Shimmer
/**
* 设置闪光的循环次数
*
* @param repeatCount 循环次数 -1表示一直循环
*
* @return Shimmer 修改了闪光循环次数的控制器对象
*/
public func setRepeatCount(repeatCount: Int64): Shimmer
/**
* 设置闪光的播放模式
* PlayMode.Reverse 折返播放
* PlayMode.Normal、PlayMode.Alternate、PlayMode.AlternateReverse 都为同一方向循环播放
*
* @param mode 播放模式
*
* @return Shimmer 修改了闪光播放模式的控制器对象
*/
public func setRepeatMode(mode: PlayMode): Shimmer
/**
* 设置闪光完整播放一次的限制时间
*
* @param millis 完整播放一次的限制时间
*
* @return Shimmer 修改了闪光完整播放一次的限制时间的控制器对象
*/
public func setDuration(millis: Int64): Shimmer
/**
* 开启和关闭闪烁效果
*
* @param state 开启和关闭 true表示开启 false表示关闭
*
* @return Shimmer 修改了闪光开启和关闭状态的控制器对象
*/
public func showShimmer(state: Bool): Shimmer
/**
* 获取当前闪烁状态
*
* @return Bool 当前闪烁状态 true表示开启 false表示关闭
*/
public func getShimmerState(): Bool
}
2 形状和方向枚举类
/**
* 闪光运行方向枚举类
*/
public enum ShimmerDirections {
| LEFT_TO_RIGHT // 从左到右
| TOP_TO_BOTTOM // 从右到左
| RIGHT_TO_LEFT // 从上到下
| BOTTOM_TO_TOP // 从下到上
/**
* 获取枚举对应的数值
*
* @return Int64 对应的数值
*/
public func getInt(): Int64
/**
* 比较方法覆写
*
* @param right 另一个要匹配的ShimmerDirections对象
*
* @return Bool 当前枚举是否和入参的值相同 true表示相同 false表示不同
*/
public operator func ==(right: ShimmerDirections): Bool
}
/**
* 闪光形状枚举类
*/
public enum ShimmerShapes {
| LINEAR // 条形
| RADIAL // 圆形
/**
* 获取枚举对应的数值
*
* @return Int64 对应的数值
*/
public func getInt(): Int64
/**
* 比较方法覆写
*
* @param right 另一个要匹配的ShimmerShapes对象
*
* @return Bool 当前枚举是否和入参的值相同 true表示相同 false表示不同
*/
public operator func ==(right: ShimmerShapes): Bool
}
3 ShimmerElement自定义组件
/**
* 自定义组件构造器
*
* @参数 mShimmer 控制器
* @参数 content 要添加闪光效果的组件,需以@Builder标签修饰
*/
ShimmerElement(mShimmer: mShimmer, content: testComponent)