Adding basic animations to views such as a TextView, ImageView, EditTexts, etc is now very easy, thanks to the amazing library by daimajia.
The GIF below shows the some of the animations you can achieve using this library.
The best part is that the library is published under the MIT license.
Using it is very easy.
Step 1:
Add the following dependencies to your GRADLE file.
dependencies { compile 'com.android.support:support-compat:25.1.1' compile 'com.daimajia.easing:library:2.0@aar' compile 'com.daimajia.androidanimations:library:2.2@aar' }
MAVEN users can add the following:
<dependency> <groupId>com.android.support</groupId> <artifactId>support-compat</artifactId> <version>25.1.1</version> </dependency> <dependency> <groupId>com.daimajia.androidanimation</groupId> <artifactId>library</artifactId> <version>2.2</version> </dependency> <dependency> <groupId>com.daimajia.easing</groupId> <artifactId>library</artifactId> <version>2.0</version> </dependency>
Step 2:
Once you have added the dependencies, adding animations is a piece of cake.
Code:
YoYo.with(Techniques.Tada) .duration(700) .repeat(5) .playOn(findViewById(R.id.edit_area));
where Tada
is the animation name, and edit_area
is the id of the view you want to animate.
You can choose from the following animations:
Effects
Attention
Flash, Pulse, RubberBand, Shake, Swing, Wobble, Bounce, Tada, StandUp, Wave
Special
Hinge, RollIn, RollOut,Landing,TakingOff,DropOut
Bounce
BounceIn, BounceInDown, BounceInLeft, BounceInRight, BounceInUp
Fade
FadeIn, FadeInUp, FadeInDown, FadeInLeft, FadeInRight
FadeOut, FadeOutDown, FadeOutLeft, FadeOutRight, FadeOutUp
Flip
FlipInX, FlipOutX, FlipOutY
Rotate
RotateIn, RotateInDownLeft, RotateInDownRight, RotateInUpLeft, RotateInUpRight
RotateOut, RotateOutDownLeft, RotateOutDownRight, RotateOutUpLeft, RotateOutUpRight
Slide
SlideInLeft, SlideInRight, SlideInUp, SlideInDown
SlideOutLeft, SlideOutRight, SlideOutUp, SlideOutDown
Zoom
ZoomIn, ZoomInDown, ZoomInLeft, ZoomInRight, ZoomInUp
ZoomOut, ZoomOutDown, ZoomOutLeft, ZoomOutRight, ZoomOutUp
The whole library is available on GitHub.
Ph.D. researcher at Friedrich-Schiller University Jena, Germany. I’m a physicist specializing in computational material science. I write efficient codes for simulating light-matter interactions at atomic scales. I like to develop Physics, DFT, and Machine Learning related apps and software from time to time. Can code in most of the popular languages. I like to share my knowledge in Physics and applications using this Blog and a YouTube channel.