java - 我的 ImageView 的 Android 动画有什么问题?

标签 java android animation imageview

此代码仅适用于第一个动画。虽然ImageView的最终位置并不完全是MotionEvent的点,并且动画看起来不流畅。所有其他 MotionEvent 的结果实际上都不是动画。 ImageView 仅在我触摸屏幕时出现。

这是代码。

ImageView image;
MyAnimationListener am;

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
    image = (ImageView)findViewById(R.id.imageView1);
    am = new MyAnimationListener(image);
}

@Override
public boolean onTouchEvent(MotionEvent mEvent){

    if(mEvent.getAction()==MotionEvent.ACTION_DOWN){
        TranslateAnimation tAnimation = new TranslateAnimation(image.getX(),mEvent.getX(),image.getY(),mEvent.getY());
        tAnimation.setDuration(500);
        am.setCoordinates(mEvent.getX(), mEvent.getY());
        tAnimation.setAnimationListener(am);

        AnimationSet aSet = new AnimationSet(true);
        aSet.addAnimation(tAnimation);
        image.startAnimation(aSet);
    }

    return true;
}

以及 MyAnimationListener 的有趣方法。

ImageView i;
float x,y;

public MyAnimationListener(ImageView i){
    this.i = i;
}

public void setCoordinates(float x, float y){
    this.x = x;
    this.y = y;
}

@Override
public void onAnimationEnd(Animation animation) {
    i.setX(x);
    i.setY(y);
}

提前致谢。

最佳答案

您可能需要调用 fillAfter ,以便在动画结束时不会重置位置。请参阅link

关于java - 我的 ImageView 的 Android 动画有什么问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8638100/

相关文章:

java - 空连接变量

javascript - 按钮不从中心动画

animation - 我怎样才能让这个动画正常工作?

java android openlayers 等效

javascript - 使用 http 协议(protocol)、java 和 javascript 下载大于 1GB 的大文件

java - .notify() 没有通知线程的 .wait()

java - mongodb geoSpatial 查询不起作用

android - 将 Textview 内容保持在 1 行并防止换行

android - 如何设置android显示垂直方向?

java - 在 RecyclerView 中扩展项目时使用 TransitionManager 和 ChangeBounds 与layout_height : match_constraint 结合使用会产生奇怪的视觉效果