Android 动画--使用Path来规划动画的轨迹
16lz
2021-01-23
使用Path来规划动画的轨迹
public void testPathAnimator(){ final FrameLayout l = (FrameLayout) findViewById(R.id.root_view); final ImageView imageView = new ImageView(this); imageView.setImageResource(R.drawable.dot); FrameLayout.LayoutParams param = new FrameLayout.LayoutParams( ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT); l.addView(imageView, param); Path path = new Path(); path.moveTo(200, 200); path.quadTo(800, 200, 800, 800); PathInterpolator pathInterpolator = new PathInterpolator(0.33f,0f,0.12f,1f); AnimatorSet animSet = new AnimatorSet(); animSet.addListener(new Animator.AnimatorListener() { @Override public void onAnimationStart(Animator animation) { } @Override public void onAnimationEnd(Animator animation) { l.removeView(imageView); } @Override public void onAnimationCancel(Animator animation) { l.removeView(imageView); } @Override public void onAnimationRepeat(Animator animation) { } }); ObjectAnimator scalex = ObjectAnimator.ofFloat(imageView, View.SCALE_X, 1.0f, 0.3f); ObjectAnimator scaley = ObjectAnimator.ofFloat(imageView, View.SCALE_Y, 1.0f, 0.3f); ObjectAnimator traslateAnimator = ObjectAnimator.ofFloat(imageView, "x", "y", path); animSet.playTogether(scalex, scaley, traslateAnimator); animSet.setInterpolator(pathInterpolator); animSet.setDuration(1500); animSet.start(); } }
效果
源码
github源码
介绍一个好用的视频转gif工具
GifCam
更多相关文章
- 动画的顺序播放
- Android显示GIF动画完整示例(二)
- 使用React-navigation时候 Android物理返回键&BackHandler exitA
- linux命令之ps源码,支持linux和android
- Android 4.1.1源码编译
- Android弹出异常dialog源码分析
- Android UI滑动加载源码
- Android 用属性动画自定义view的渐变背景
- Android滑动开关-ToggleButton(附源码)