3

私は Android onlineShopping アプリケーションに取り組んでいます。アニメーションを適用する必要があります。

  1. カート画像は画面右上に表示されます。
  2. 商品一覧は「カートに入れる」ボタンで各商品の画面に表示されます。
  3. ユーザーがこのボタンを押すと、アニメーションを再生する必要があります。
  4. 画面の右上隅に配置されたタッチ位置からカート画像までアニメーション化する必要がある修正画像が1つあります。

私を助けてください。

前もって感謝します。

アップデート :

これを試して、画像をある場所から別の場所に移動しました。

TranslateAnimation anim = new TranslateAnimation(0,0,200,200);              
                anim.setDuration(3000);

                img.startAnimation(anim);

この画像は、タッチ位置から右上隅までアニメーション化したいと考えています。 ここに画像の説明を入力

4

3 に答える 3

7

最終的には、アニメーションを使用してビューをある位置から別の位置に移動する必要があります。

ステップ 1: そのビューの初期位置を取得する

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

ステップ 2: 目的地の位置を取得する

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

ステップ 3: アニメーションを管理するクラスを作成する

        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;
    }
}

ステップ 4: animationlistener を追加し、目的のビューでアニメーションを開始する

     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();       
        }
    };

// 以下のようにアニメーションを開始します。

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

参考になれば幸いです!!

于 2013-10-23T07:16:34.967 に答える
0

この例を確認してください。これが役立つことを願っています: http://developer.android.com/training/animation/zoom.html

于 2013-10-23T06:41:14.453 に答える