All Projects → RamiJ3mli → Easings

RamiJ3mli / Easings

A port of Robert Penner's easing equations to kotlin on Android to add flavors to your animations

Programming Languages

kotlin
9241 projects

Projects that are alternatives of or similar to Easings

Tkswarmalert
Animated alert library like Swarm app.
Stars: ✭ 576 (+657.89%)
Mutual labels:  animation-library
Cyltabbarcontroller
[EN]It is an iOS UI module library for adding animation to iOS tabbar items and icons with Lottie, and adding a bigger center UITabBar Item. [CN]【中国特色 TabBar】一行代码实现 Lottie 动画TabBar,支持中间带+号的TabBar样式,自带红点角标,支持动态刷新。【iOS13 & Dark Mode & iPhone XS MAX supported】
Stars: ✭ 6,605 (+8590.79%)
Mutual labels:  animation-library
React Tweenful
Animation engine designed for React
Stars: ✭ 48 (-36.84%)
Mutual labels:  animation-library
Materialdialog Android
📱Android Library to implement animated, 😍beautiful, 🎨stylish Material Dialog in android apps easily.
Stars: ✭ 602 (+692.11%)
Mutual labels:  animation-library
Fpsanimator
FPSAnimator is very easy animation library for Android TextureView and SurfaceView.
Stars: ✭ 743 (+877.63%)
Mutual labels:  animation-library
Katsudo
Katsudö is an animation library for LÖVE
Stars: ✭ 32 (-57.89%)
Mutual labels:  animation-library
Rxanimation
Simple way to animate your views on Android with Rx 🚀
Stars: ✭ 521 (+585.53%)
Mutual labels:  animation-library
Rnal
Animations library for react-native
Stars: ✭ 54 (-28.95%)
Mutual labels:  animation-library
Parade
Parallax Scroll-Jacking Effects Engine for iOS / tvOS
Stars: ✭ 754 (+892.11%)
Mutual labels:  animation-library
Lottie Qml
QML Item for rendering Lottie Web animations in a QtQuick Canvas
Stars: ✭ 40 (-47.37%)
Mutual labels:  animation-library
Zoomrecylerlayout
🎢 Zoom Recycler Layout Manager For Android Kotlin
Stars: ✭ 618 (+713.16%)
Mutual labels:  animation-library
Fast
The adaptive interface system for modern web experiences.
Stars: ✭ 6,532 (+8494.74%)
Mutual labels:  animation-library
Aaviewanimator
AAViewAnimator is a set of animations designed for UIView, UIButton, UIImageView with options in iOS, written in Swift.
Stars: ✭ 33 (-56.58%)
Mutual labels:  animation-library
Flightanimator
Advanced Natural Motion Animations, Simple Blocks Based Syntax
Stars: ✭ 588 (+673.68%)
Mutual labels:  animation-library
Tap water
【声明:未发布前,勿使用,勿star,预计2020年11月底发布】Flutter tab_bar组件,支持中间带加号按钮的TabBar,支持Lottie动画。iTeaTime(技术清谈)团队出品。Highly customizable tabBar and tabBarController for Flutter
Stars: ✭ 52 (-31.58%)
Mutual labels:  animation-library
Anim
Swift animation library for iOS, tvOS and macOS.
Stars: ✭ 520 (+584.21%)
Mutual labels:  animation-library
Swipemenuviewcontroller
Swipable tab and menu View and ViewController.
Stars: ✭ 926 (+1118.42%)
Mutual labels:  animation-library
Text To Path Maker For Flutter
Convert text to paths and animate them with this Flutter package
Stars: ✭ 69 (-9.21%)
Mutual labels:  animation-library
Walt
An animation library for LÖVE.
Stars: ✭ 53 (-30.26%)
Mutual labels:  animation-library
Flagchatadapter
FlagChatAdapter is easy to implement enchanting recycler view adapter. Just extend your adapter with FlagChatAdapter, impliment some methods and voila! You have got the most beautiful looking chat on your phone. Zero boilerplate code, just put your variables in the right direction.
Stars: ✭ 39 (-48.68%)
Mutual labels:  animation-library

Easings for Android

API Download Android Arsenal Twitter


If you are not pleased with the native interpolators on Android. Here are 30 custom ones to make motion look more real.
This small library is a port of Robert Penner's easing equations to kotlin on Android to add flavors to your animations, and it's based on https://easings.net/.

GIF LOADING

Get the demo from GooglePlay and see the library's custom interpolators in action.
You can also experiment with the path interpolator editor to get the control points for a custom interpolator of your choice using PathInterpolatorCompat.create(x1, y1, x2, y2).

SETUP

Dependency should be declared in your app module level build.gradle file:

dependencies {

    implementation 'com.ramijemli:easings:1.0.0' 

}

HOW TO USE

This can be used exactly like the native interpolators.

ValueAnimator.ofFloat(0f,1f).apply {
    interpolator = Interpolators(Easings.SIN_IN)
    start()
}

ObjectAnimator.ofFloat(textView, "translationX", 100f).apply {
    interpolator = Interpolators(Easings.ELASTIC_IN_OUT)
    start()
}

myView.animate().apply {
    translationYBy(100f)
    interpolator = Interpolators(Easings.BOUNCE_OUT)
    start()
}
Interpolator Behavior
Sinusoidal ease in
Easings.SIN_IN
Sinusoidal ease out
Easings.SIN_OUT
Sinusoidal ease in out
Easings.SIN_IN_OUT
Quadratic ease in
Easings.QUAD_IN
Quadratic ease out
Easings.QUAD_OUT
Quadratic ease in out
Easings.QUAD_IN_OUT
Cubic ease in
Easings.CUBIC_IN
Cubic ease out
Easings.CUBIC_OUT
Cubic ease in out
Easings.CUBIC_IN_OUT
Quartic ease in
Easings.QUART_IN
Quartic ease out
Easings.QUART_OUT
Quartic ease in out
Easings.QUART_IN_OUT
Quintic ease in
Easings.QUINT_IN
Quintic ease out
Easings.QUINT_OUT
Quintic ease in out
Easings.QUINT_IN_OUT
Exponential ease in
Easings.EXP_IN
Exponential ease out
Easings.EXP_OUT
Exponential ease in out
Easings.EXP_IN_OUT
Circular ease in
Easings.CIRC_IN
Circular ease out
Easings.CIRC_OUT
Circular ease in out
Easings.CIRC_IN_OUT
Back ease in
Easings.BACK_IN
Back ease out
Easings.BACK_OUT
Back ease in out
Easings.BACK_IN_OUT
Elastic ease in
Easings.ELASTIC_IN
Elastic ease out
Easings.ELASTIC_OUT
Elastic ease in out
Easings.ELASTIC_IN_OUT
Bounce ease in
Easings.BOUNCE_IN
Bounce ease out
Easings.BOUNCE_OUT
Bounce ease in out
Easings.BOUNCE_IN_OUT

CONTRIBUTION

All bugs, feature requests, feedback, etc. are welcome. Please, feel free to create an issue.

If you have new ideas, feel free to contribute by opening pull requests on dev branch.

APPS USING IT

Are you using this library in your app? Let us know and we'll show it here.

TO DO

  • [ ] Add tension modifier for elastic easing
  • [x] Add path interpolator editor
  • [x] Add sample for google play

LICENSE

Copyright 2019 Rami Jemli  
  
Licensed under the Apache License, Version 2.0 (the "License");  
you may not use this file except in compliance with the License.  
You may obtain a copy of the License at  

	http://www.apache.org/licenses/LICENSE-2.0  
 
Unless required by applicable law or agreed to in writing, software distributed
under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
either express or implied. See the License for the specific language governing permissions 
and limitations under the License.  
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].