在fling上引发一个简单的动画

时间:2011-05-07 00:10:31

标签: java android animation

我不知道如何制作一个简单的onFling只需启动一个动画。滑动与哪个方向接触并在屏幕上滑动应该导致动画开始无关紧要。我想知道的另一件事是如何让它让动画运行,当动画结束时我想让它显示一张图片。为了让你知道我在做什么,想象一下twister旋转板。动画是旋转器旋转,旋转完成后停止并指向一个方向。我怎样才能得到类似的效果。 (动画是旋转动画,图片都指向不同的方向)

感谢任何人都能给予的帮助。感谢。

1 个答案:

答案 0 :(得分:1)

一种可能性:使用手势检测器来检测投掷。

伪码:

public class WhatEver extends Activity implements OnGestureListener {
private GestureDetector gestures;
protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
gestures = new GestureDetector(mContext, this);
View yourViewYouWantToHaveThemFling=(View) findViewById(blah..);
yourViewYouWantToHaveThemFling.setOnTouchListener(new OnTouchListener() {

                @Override
                public boolean onTouch(View arg0, MotionEvent event) {

                    if (gestures.onTouchEvent(event)) {
                        return true;
                    }
                    return false;
                }

            });

}
//all your normal stuff
@Override
    public boolean onDown(MotionEvent e) {

        return true; //must return true to continue
    }

    @Override
    public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX,
            float velocityY) {
//do something
        return false;
    }

    @Override
    public void onLongPress(MotionEvent e) {

    }

    @Override
    public boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX,

            float distanceY) {

        return false;
    }

    @Override
    public void onShowPress(MotionEvent e) {

    }

    @Override
    public boolean onSingleTapUp(MotionEvent e) {

        return false;
    }
}

对于动画,在动画上设置一个监听器,

yourAnimation.setAnimationListener(new DisplayPicture()); 

然后

private final class DisplayPicture implements Animation.AnimationListener {
.
.

public void onAnimationEnd(Animation animation) {
            //code to display your picture here
        }
.
.
}