Make bounce animation

后端 未结 3 1891
无人共我
无人共我 2021-02-05 22:15

I would like to do bounce animation of layer.

I have done that layer comes from right to center, now I would like to move it a little back and then back to center. That

相关标签:
3条回答
  • 2021-02-05 22:26

    Add code on button or image click

        final Animation myAnim = AnimationUtils.loadAnimation(getActivity(), R.anim.bounce);
        // Use bounce interpolator with amplitude 0.1 and frequency 15
        MyBounceInterpolator interpolator = new MyBounceInterpolator(0.1, 15);
        myAnim.setInterpolator(interpolator);
        imgVoiceSearch.startAnimation(myAnim);
    

    Add this class

    public class MyBounceInterpolator implements android.view.animation.Interpolator {
    private double mAmplitude = 1;
    private double mFrequency = 10;
    
    public MyBounceInterpolator(double amplitude, double frequency) {
        mAmplitude = amplitude;
        mFrequency = frequency;
    }
    
    public float getInterpolation(float time) {
        return (float) (-1 * Math.pow(Math.E, -time / mAmplitude) *
                Math.cos(mFrequency * time) + 1);
    }
    }
    
    0 讨论(0)
  • 2021-02-05 22:34

    You can use the BounceInterpolator to have this effect. The docs contain a very good description how to use it in XML. Just have a animation xml like this:

    <?xml version="1.0" encoding="utf-8"?>
    <set xmlns:android="http://schemas.android.com/apk/res/android"
    
        android:interpolator="@android:anim/bounce_interpolator">
    
        <!-- Use your working translate animation here-->
        <translate
            android:duration="900"
            android:fromXDelta="100%p"
            android:toXDelta="0%p" />
    </set>
    
    0 讨论(0)
  • 2021-02-05 22:49

    use this xml

    <?xml version="1.0" encoding="utf-8"?>
    <set xmlns:android="http://schemas.android.com/apk/res/android"
        android:fillAfter="true"
        android:interpolator="@android:anim/bounce_interpolator">
    
        <scale
            android:duration="600"
            android:fromXScale="1.0"
            android:fromYScale="0.0"
            android:toXScale="1.0"
            android:toYScale="1.0" />
    
    </set>
    

    This will show bounce effect with scale ,different from translate,(fits better in some situations),for more check THIS out..

    0 讨论(0)
提交回复
热议问题