public class MainActivity extends AppCompatActivity { //蝴蝶初始位置 private float curx = 0; private float cury = 0; //蝴蝶飞到下一个点的位置 float nextx = 0; float nexty = 0; ImageView imageView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); imageView = (ImageView) findViewById(R.id.butterfly); curx = imageView.getX(); cury = imageView.getY(); Log.i("mydate" , curx +" " + cury); final AnimationDrawable butterfly = (AnimationDrawable) imageView.getBackground(); butterfly.start(); //一开始就执行震动翅膀的逐帧动画 } @Override public boolean onTouchEvent(MotionEvent event) { if (event.getAction() == MotionEvent.ACTION_DOWN){ nextx = event.getX(); nexty = event.getY(); TranslateAnimation anim = new TranslateAnimation(curx , nextx , cury , nexty); anim.setDuration(5000); anim.setFillAfter(true); imageView.startAnimation(anim); //从一点飞向另一点的补间动画 curx = nextx; cury = nexty; } return true; } }
逐帧动画与补间动画的结合简单使用-蝴蝶飞舞
猜你喜欢
转载自blog.csdn.net/qq_38261174/article/details/80052251
今日推荐
周排行