Android流光动效(移动光效)View

手机游戏开发者 2024-9-25 11:04:17 40 0 来自 中国
结果预览

功能阐明


  • 支持恣意范例视图View上面的流光动效(包罗但不限于View、ImageView、TextView、Button大概他们的恣意组合的ViewGroup);
  • 支持修改光效宽度;
  • 支持修改光效颜色;
  • 支持修改光效移动速率;
  • 支持设置View动效的圆角;
  • 支持修改光效入射角度(斜率);
2.jpg 注: 底部有颜色有圆角的按钮是一个设置有图片background、白色笔墨“立刻开启”的TextView,图片的圆角与光效圆角无关
开源所在: https://gitee.com/chockqiu/LightingAnimationView
利用方式

在工程根目次的build.gradle中添加
allprojects {    repositories {        maven { url 'https://www.jitpack.io' }        ...    }}添加依靠
implementation 'com.gitee.chockqiuightingAnimationView:1.0'在xml中添加布局
<com.chockqiu.view.LightingAnimationView        android:id="@+id/m_lighting_animation_view"        android:layout_width="0dp"        android:layout_height="0dp"        app:layout_constraintBottom_toBottomOf="@id/btnOpenBox"        app:layout_constraintLeft_toLeftOf="@+id/btnOpenBox"        app:layout_constraintRight_toRightOf="@+id/btnOpenBox"        app:layout_constraintTop_toTopOf="@id/btnOpenBox" />参数阐明

w:光效宽度(单元px)
k:光效斜率(浮点数,值范围-1 ~ 1)
radius:圆角巨细(单元px)
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]如果本文对你有资助就点个赞支持下吧~~~
您需要登录后才可以回帖 登录 | 立即注册

Powered by CangBaoKu v1.0 小黑屋藏宝库It社区( 冀ICP备14008649号 )

GMT+8, 2024-10-18 18:16, Processed in 0.173338 second(s), 35 queries.© 2003-2025 cbk Team.

快速回复 返回顶部 返回列表