热点新闻
Android流光动效(移动光效)View
2023-07-04 21:54  浏览:305  搜索引擎搜索“促展会”
温馨提示:为防找不到此信息,请务必收藏信息以备急用! 联系我时,请说明是在促展会看到的信息,谢谢。
展会发布 展会网站大全 报名观展合作 软文发布

效果预览




流光效果.gif

功能说明

  • 支持任意类型视图View上面的流光动效(包括但不限于View、ImageView、TextView、Button或者他们的任意组合的ViewGroup);
  • 支持修改光效宽度;
  • 支持修改光效颜色;
  • 支持修改光效移动速率;
  • 支持设置View动效的圆角;
  • 支持修改光效入射角度(斜率);



Screenshot_2022-04-21-11-46-34-0.jpg

注: 底部有颜色有圆角的按钮是一个设置有图片background、白色文字“立即开启”的TextView,图片的圆角与光效圆角无关

开源地址: https://gitee.com/chockqiu/LightingAnimationView

使用方式

在工程根目录的build.gradle中添加

allprojects { repositories { maven { url 'https://www.jitpack.io' } ... } }

添加依赖

implementation 'com.gitee.chockqiu:LightingAnimationView: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]

如果本文对你有帮助就点个赞支持下吧~~~
发布人:852f****    IP:101.229.27.***     举报/删稿
展会推荐
让朕来说2句
评论
收藏
点赞
转发