Step 1. 添加JitPack repository到你的主项目build.gradle文件
allprojects {
repositories {
...
maven { url 'https://jitpack.io' }
}
}
Step 2. 添加依赖
dependencies {
compile 'com.github.liuwei1993:AndroidAnimationTools:1.0'
}
- WavingBars
- WanderingCubes
- FoldingCube
- CubeGrid
- RotatingPlane
- RotatingDots
- RotatingDots2
- DoubleCircleBounce
- MultiplePulse
- ThreeBounce
- ChasingDots
java中:
ImageView imageView = (ImageView) itemView.findViewById(R.id.image);
AnimationDrawable drawable = new WavingBars();
imageView.setImageDrawable(drawable);
drawable.start();
layout中:
<!-- 如果动画需要超出View边界,则需要将ImageView的父View的 android:clipChildren属性设置为false -->
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:clipChildren="false">
<ImageView
android:id="@+id/image"
android:layout_width="160dp"
android:layout_height="160dp"
android:clipChildren="false"
android:layout_gravity="center"/>
</FrameLayout>
效果:
该库主要有两个重要部分组成一个是drawable系列,用于绘制图形,一个是animator系列,用于方便的构造Animator.
drawable包下
animator包下
继承AnimatonDrawable类后使用DrawableAnimatorBuilder可以使Drawable具备动画效果,而AnimDrawableContainer自身继承于AnimationDrawable并且可以管理多个AnimatonDrawable从而实现复杂动画效果. 而interpolator包下的工具类可以帮助我们高效的创建复杂的Interpolator. 使用者可参考示例代码来自定义各种复杂动画效果.