Animate image icon from touch place to right-top corner?

前端 未结 3 564
伪装坚强ぢ
伪装坚强ぢ 2021-01-06 14:37

I am working on Android onlineShopping application.I have to apply some animation.

  1. cart image is displays on Right-top corner of the screen.
  2. List of i
相关标签:
3条回答
  • 2021-01-06 14:48

    check this example hope this will help u: http://developer.android.com/training/animation/zoom.html

    0 讨论(0)
  • 2021-01-06 14:59

    ultimately you want to move a view from one position to another position with animation.

    Step 1: get initial position of that view

    int fromLoc[] = new int[2];
    v.getLocationOnScreen(fromLoc);     
    float startX = fromLoc[0];
    float startY = fromLoc[1];
    

    Step 2: get destination position

    int toLoc[] = new int[2];
    desti.getLocationOnScreen(toLoc);       
    float destX = toLoc[0];
    float destY = toLoc[1];
    

    Step 3: create a class to manage animation

            public class Animations {
    public Animation fromAtoB(float fromX, float fromY, float toX, float toY, AnimationListener l, int speed){
    
    
            Animation fromAtoB = new TranslateAnimation(
                    Animation.ABSOLUTE, //from xType
                    fromX, 
                    Animation.ABSOLUTE, //to xType
                    toX, 
                    Animation.ABSOLUTE, //from yType 
                    fromY, 
                    Animation.ABSOLUTE, //to yType 
                    toY
                     );
    
            fromAtoB.setDuration(speed);
            fromAtoB.setInterpolator(new AnticipateOvershootInterpolator(1.0f));
    
    
            if(l != null)
                fromAtoB.setAnimationListener(l);               
                    return fromAtoB;
        }
    }
    

    Step 4: add animationlistener and start animation on desired view

         AnimationListener animL = new AnimationListener() {
    
            @Override
            public void onAnimationStart(Animation animation) {     
            }
    
            @Override
            public void onAnimationRepeat(Animation animation) {        
            }
    
            @Override
            public void onAnimationEnd(Animation animation) {
                //this is just a method call you can create to delete the animated view or hide it until you need it again.
                clearAnimation();       
            }
        };
    

    //now start animation as mentioned below:

    Animations anim = new Animations();
        Animation a = anim.fromAtoB(startX, startY, destX, destY, animL,850);
        v.setAnimation(a);
        a.startNow();
    

    I hope it will be helpful !!

    0 讨论(0)
  • 2021-01-06 15:00

    I think you are exactly looking for, you can check link

    link here

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