<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          Android實(shí)現(xiàn)視圖View流光動(dòng)效

          共 1352字,需瀏覽 3分鐘

           ·

          2022-06-30 19:34

          效果預(yù)覽



          功能說(shuō)明:


          • 支持任意類型視圖View上面的流光動(dòng)效(包括但不限于View、ImageView、TextView、Button或者他們的任意組合的ViewGroup);

          • 支持修改光效寬度;

          • 支持修改光效顏色;

          • 支持修改光效移動(dòng)速率;

          • 支持設(shè)置View動(dòng)效的圓角;

          • 支持修改光效入射角度(斜率);



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


          使用方式:


          在工程根目錄的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" />


          參數(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án)),其他值表示循環(huán)的次數(shù)duration:一次動(dòng)畫需要消耗的時(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]


          到這里就結(jié)束啦。

          瀏覽 148
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  天天日天天操天天干青青草超碰av | 能免费看的黄色电影 | 亚洲免费视频在线 | 免费一区 | 国产精品——色哟哟 |