android平移动画绘制,Android使用Canvas和Path自定义绘制动画

本文介绍了在Android中使用Canvas和Path自定义绘制平移动画的方法,包括利用Path Measure获取路径长度、计算移动步长,以及通过Matrix进行位置和角度的变换,以实现一个爱心旋转的动画效果。
摘要由CSDN通过智能技术生成

1. 动画类型

在android开发中,完成设计师设计的动画的途径有很多种。

(1). 属性动画(Property Animtion)

Creates an animation by modifying an object's property values over a set period of time with an Animator.

通过使用Animator类修改object 的属性来实现动画。 注意属性动画可以为所有的 Object类来作动画。

(2). 视图动画(View Animation)

Tween animation: Creates an animation by performing a series of transformations on a single image with an Animation

Frame animation: or creates an animation by showing a sequence of images in order with an AnimationDrawable.

补间动画:通过使用Animation类对单个view作一系列变形来实现动画。

帧动画:通过使用AnimationDrawable来创建动画来顺序展示一连串的图片。

(3). lottie库

lottie库是Airbnb开源的支持Android,ios,ReactNative的动画库,设计师利用AE上插件导出json文件,研发人员即可使用,可以省去研发人员的大量事件,但缺点是目前还不能完成所有的动画。

(4). gif

Fresco 是一个强大的图片加载组件。使用它之后,你不需要再去关心图片的加载和显示这些繁琐的事情! 支持 Android 2.3 及以后的版本。Fresco 支持 GIF 和 WebP 格式的动画图片。

String path = ContentResolver.SCHEME_ANDROID_RESOURCE + "://"

+ getResources().getResourcePackageName(R.raw.gif_pic) + "/"

+ getResources().getResourceTypeName(R.raw.gif_pic) + "/"

+ getResources().getResourceEntryName(R.raw.gif_pic);

Uri uri = Uri.parse(path);

ControllerListener controllerListener = new BaseControllerListener() {

@Override

public void onFinalImageSet(String id, @Nullable ImageInfo imageInfo, @Nullable Animatable anim) {

if (anim != null) {

anim.start();

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值