【问题标题】:How can save new position when animation is ended?动画结束时如何保存新位置?
【发布时间】:2013-05-15 19:49:37
【问题描述】:

嗨,我正在制作动画(使用 TranslateAnimation())我有 4 个按钮(左移、右移、上按钮、下按钮)和一个我现在想要的图像视图,当动画结束时如何保存新位置,并从新位置开始运行另一个动画

【问题讨论】:

    标签: android animation imageview translation


    【解决方案1】:

    在动画上调用方法setFillAfter(true)

    【讨论】:

    • 我已经尝试了animation.setFillEnabled(true);动画.setFillAfter(true);但例如我按 2 次右键图像被复制
    • 我必须纠正图像仅在上下方向重复
    • private OnClickListener click_Dx = new OnClickListener() { @Override public void onClick(View v) { animation = new TranslateAnimation(0,50,0,0); animation.setDuration(2000); animation.setRepeatCount(0); IMG3.setImageDrawable(getResources().getDrawable(R.drawable.dx)); IMG3.setAnimation(animation); animation.setFillEnabled(true); animation.setFillAfter(true); } }; 对于每个clickListener,图像向一个方向移动,它们都一样,所以我只写一个
    • 项目的sdk最小目标是多少?如果是3.0或更高版本你应该使用ObjectAnimator,它工作得更好,TranslateAnimation只是改变屏幕上显示的位置,但布局位置保持不变,这就是为什么第二次翻译是效果不好,从 3.0 版开始,引入了 ObjectAnimator 并且效果更好。
    • 最小 sdk 是 8,但如果你确实需要我可以更改它 =) 无论如何 ObjectAnimator 是如何工作的?
    猜你喜欢
    • 2015-08-11
    • 1970-01-01
    • 2012-12-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-08
    • 2013-01-11
    相关资源
    最近更新 更多