# Android流光动效View **Repository Path**: chockqiu/LightingAnimationView ## Basic Information - **Project Name**: Android流光动效View - **Description**: 一个Android显示流光动效的View - **Primary Language**: Kotlin - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 13 - **Forks**: 2 - **Created**: 2022-04-19 - **Last Updated**: 2025-10-29 ## Categories & Tags **Categories**: Uncategorized **Tags**: 流光动效, 动画, 光效 ## README # Android流光动效View 博客地址: https://www.jianshu.com/p/50bc45dca9a8 #### 效果预览 ![流光效果.gif](img/13651212-b11401a9c7dbe0fe.gif) #### 功能说明 - 支持任意类型视图View上面的流光动效(包括但不限于View、ImageView、TextView、Button或者他们的任意组合的ViewGroup); - 支持修改光效宽度; - 支持修改光效颜色; - 支持修改光效移动速率; - 支持设置View动效的圆角; - 支持修改光效入射角度(斜率); ![Screenshot_2022-04-21-11-46-34-0.jpg](img/13651212-dcc1365f7fa0ee42.jpg) *注: 底部有颜色有圆角的按钮是一个设置有图片background、白色文字“立即开启”的TextView,图片的圆角与光效圆角无关* #### 使用方式 在工程根目录的**build.gradle**中添加 ``` allprojects { repositories { maven { url 'https://www.jitpack.io' } ... } } ``` 添加依赖 ``` implementation 'com.gitee.chockqiu:LightingAnimationView:${version}' ``` 在xml中添加布局 ``` ``` #### 参数说明 w:光效宽度 k:光效斜率 radius:圆角大小 repeat:循环次数, -1表示无限循环,0表示不循环(动画会有一次但不循环),其他值表示循环的次数 duration:一次动画需要消耗的时间(单位ms) colors & positions:颜色值和它所对应的位置(数组, 值范围0~1) 举例: ``` {0x00FFFFFF, 0xAAFFFFFF, 0xAAFFFFFF, 0x00FFFFFF} [0,0.4f,0.5f,1] ``` 表示光效颜色(渐变色) 由0x00FFFFFF ->0xAAFFFFFF ->0xAAFFFFFF ->0x00FFFFFF变化. **它们俩数组大小必须一致** > 为什么中间有两个0xAAFFFFFF?对应0.4f和0.5的位置。 这样做是为了中间这个颜色宽度大一小,如果还需要加大则可以将0.4f和0.5f改成0.2f和0.8f(值相互远离);如果要小,除了两个值相互靠近外(0.42f,0.48f),还可以删除其中一个: ``` {0x00FFFFFF, 0xAAFFFFFF, 0x00FFFFFF} [0,0.5f,1] ```