2016-05-17 81 views
1

我試圖代碼,模仿類似這樣的脈衝動畫的動畫:在藍色圓圈Android的XML脈衝動畫工作不正常

精礦(忽略外深藍色圓圈)

http://www.joedubs.com/wp-content/uploads/2016/01/breathe-now.gif

這裏是我設法到目前爲止代碼:

<set xmlns:android="http://schemas.android.com/apk/res/android" 
    android:shareInterpolator="false"> 
    <scale 
     android:duration="2000" 
     android:fromXScale="1" 
     android:fromYScale="1" 
     android:pivotX="50%" 
     android:pivotY="50%" 
     android:toXScale="0.8" 
     android:toYScale="0.8" /> 

    <scale 
     android:duration="2000" 
     android:fromXScale="0.8" 
     android:fromYScale="0.8" 
     android:pivotX="50%" 
     android:pivotY="50%" 
     android:startOffset="2000" 
     android:toXScale="1.8" 
     android:toYScale="1.8" /> 

    <scale 
     android:duration="2000" 
     android:fromXScale="1.8" 
     android:fromYScale="1.8" 
     android:pivotX="50%" 
     android:pivotY="50%" 
     android:startOffset="2000" 
     android:toXScale="1" 
     android:toYScale="1" /> 
</set> 

WHI這在一定程度上起作用,當它再次重複時,動畫跳過並且結束。有人可以調整它來模仿一個平滑的脈衝動畫嗎? (增長和減少)

回答

0

您可以添加這樣的ObjectAnimator,從而在反向模式脈動效應:

ObjectAnimator scaleDown = ObjectAnimator.ofPropertyValuesHolder(ImageView, 
       PropertyValuesHolder.ofFloat("scaleX", 0.5f), 
       PropertyValuesHolder.ofFloat("scaleY", 0.5f)); 
     scaleDown.setDuration(300); 

     scaleDown.setRepeatCount(ObjectAnimator.INFINITE); 
     scaleDown.setRepeatMode(ObjectAnimator.REVERSE); 

     scaleDown.start(); 

另一種方式才達到是有CustomClass並重寫你的OnDraw方法,創建增長或減少增加一個變量的效果並回想無效()。我在另一篇文章中做了這些,以使我的按鈕背景增長,如果你想按照這種方式,它可以爲你有用。

Pulsating Button Android

有一個好的一天!