Android流光動(dòng)效(移動(dòng)光效)View

效果預(yù)覽

流光效果.gif

功能說(shuō)明

  • 支持任意類型視圖View上面的流光動(dòng)效(包括但不限于View、ImageView、TextView、Button或者他們的任意組合的ViewGroup);
  • 支持修改光效寬度;
  • 支持修改光效顏色;
  • 支持修改光效移動(dòng)速率;
  • 支持設(shè)置View動(dòng)效的圓角;
  • 支持修改光效入射角度(斜率);
Screenshot_2022-04-21-11-46-34-0.jpg

注: 底部有顏色有圓角的按鈕是一個(gè)設(shè)置有圖片background、白色文字“立即開(kāi)啟”的TextView,圖片的圓角與光效圓角無(wú)關(guān)

開(kāi)源地址: https://gitee.com/chockqiu/LightingAnimationView

使用方式

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

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

添加依賴

implementation 'com.gitee.chockqiu:LightingAnimationView:1.1'

在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" />

參數(shù)說(shuō)明

w:光效寬度(單位px)
k:光效斜率(浮點(diǎn)數(shù),值范圍-1 ~ 1)
radius:圓角大小(單位px)
repeat:循環(huán)次數(shù), -1表示無(wú)限循環(huán),0表示不循環(huán)(動(dòng)畫(huà)會(huì)有一次但不循環(huán)),其他值表示循環(huán)的次數(shù)
duration:一次動(dòng)畫(huà)需要消耗的時(shí)間(單位ms)
colors & positions:顏色值和它所對(duì)應(yīng)的位置(數(shù)組, 值范圍0~1)
舉例:

{0x00FFFFFF, 0xAAFFFFFF, 0xAAFFFFFF, 0x00FFFFFF}
[0,0.4f,0.5f,1]

表示光效顏色(漸變色) 由0x00FFFFFF ->0xAAFFFFFF ->0xAAFFFFFF ->0x00FFFFFF變化.
它們倆數(shù)組大小必須一致

為什么中間有兩個(gè)0xAAFFFFFF?對(duì)應(yīng)0.4f和0.5的位置。

這樣做是為了中間這個(gè)顏色寬度大一點(diǎn),如果還需要加大則可以將0.4f和0.5f改成0.2f和0.8f(值相互遠(yuǎn)離);如果要小,除了兩個(gè)值相互靠近外(0.42f,0.48f),還可以刪除其中一個(gè):

{0x00FFFFFF, 0xAAFFFFFF, 0x00FFFFFF}
[0,0.5f,1]
如果本文對(duì)你有幫助就點(diǎn)個(gè)贊支持下吧~~~
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容