A lightweight android library that allows to you create custom fast forward/rewind animations like on Netflix.

Overview

SuperForwardView

About

A lightweight android library that allows to you create custom fast forward/rewind animations like on Netflix.

GIF

Design Credits

All design and inspiration credits belongs to Netflix.

Setup

  • Add it in your root build.gradle at the end of repositories:
allprojects {
	repositories {
		...
		maven { url 'https://jitpack.io' }
	}
}
  • Add the dependency
dependencies {
        implementation 'com.github.ertugrulkaragoz:SuperForwardView:0.2'
}

Usage

  • Add SuperForwardView in your layout:
">
 Width / height must be equal to 2. Otherwise it will not work properly.
 <me.ertugrul.lib.Forward
        android:id="@+id/forward"
        android:layout_width="100dp"
        android:layout_height="50dp"
        app:f_color="#ffffff"
        app:f_textSize="15sp"
        app:f_arrowSize="10dp"
        app:f_strokeWidth="3dp" />

 <me.ertugrul.lib.Rewind
        android:id="@+id/rewind"
        android:layout_width="100dp"
        android:layout_height="50dp"
        app:r_color="#ffffff"
        app:r_textSize="15sp"
        app:r_arrowSize="10dp"
        app:r_strokeWidth="3dp" />
  • Customization:
">
    <me.ertugrul.lib.Forward
        android:id="@+id/forward"
        android:layout_width="100dp"
        android:layout_height="50dp"
        app:f_textSize="15sp"
        app:f_color="#ffffff"
        app:f_strokeWidth="3dp"
        app:f_textInput="10"
        app:f_animationDuration="1000"
        app:f_scalePercent="16"
        app:f_arcRotationAngle="60"
        app:f_sweepAngle="300"
        app:f_arrowSize="10dp" />

   <me.ertugrul.lib.Rewind
        android:id="@+id/forward"
        android:layout_width="100dp"
        android:layout_height="50dp"
        app:r_textSize="15sp"
        app:r_color="#ffffff"
        app:r_strokeWidth="3dp"
        app:r_textInput="10"
        app:r_animationDuration="1000"
        app:r_scalePercent="16"
        app:r_arcRotationAngle="60"
        app:r_sweepAngle="300"
        app:r_arrowSize="10dp" />
  • Get notified when SuperForwardView animation starts or ends by callback:
	forward.onAnimationStart = {
            Log.e("onAnimationStart", "started")
        }
        forward.onAnimationEnd = {
            Log.e("onAnimationEnd", "ended")
        }
	
	rewind.onAnimationStart = {
            Log.e("onAnimationStart", "started")
        }
        rewind.onAnimationEnd = {
            Log.e("onAnimationEnd", "ended")
        }

Or set a listener

	forward.setOnAnimationStartListener(object : OnAnimationStartListener {
            override fun onAnimationStart() {
                Log.e("OnAnimationStartListenr", "started")
            }
        })
        forward.setOnAnimationEndListener(object : OnAnimationEndListener {
            override fun onAnimationEnd() {
                Log.e("OnAnimationEndListenr", "ended")
            }
        })
	
	rewind.setOnAnimationStartListener(object : OnAnimationStartListener {
            override fun onAnimationStart() {
                Log.e("OnAnimationStartListenr", "started")
            }
        })
        rewind.setOnAnimationEndListener(object : OnAnimationEndListener {
            override fun onAnimationEnd() {
                Log.e("OnAnimationEndListenr", "ended")
            }
        })

License

MIT License

Copyright (c) 2021 Ertuğrul Karagöz

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
Releases(0.2)
An simple & awesome animation library written in Kotlin for Android

An simple & awesome animation library written in Kotlin for Android

Romman Sabbir 30 May 27, 2021
Android Transition animations explanation with examples.

UNMAINTAINED No maintainance is intended. The content is still valid as a reference but it won't contain the latest new stuff Android Transition Frame

Luis G. Valle 13.6k Jul 25, 2021
:rocket: Ultimate Android Reference - Your Road to Become a Better Android Developer

The goal of this project is to provide a hand-picked collection of Android libraries, tools, open-source projects, books, blogs, tutorials - you name

Aritra Roy 7.3k Jul 27, 2021
Combine ViewPager and Animations to provide a simple way to create applications' guide pages.

WoWoViewPager WoWoViewPager combines ViewPager and Animations to provide a simple way to create applications' guide pages. When users are dragging WoW

Nightonke 2.7k Jul 19, 2021
Repository for android animations Rx wrapper

RxAnimations RxAnimations is a library with the main goal to make android animations more solid and cohesive. Download compile 'oxim.digital:rxanim:

Mihael Francekovic 485 Jun 30, 2021
AXrLottie (Android) Renders animations and vectors exported in the bodymovin JSON format. (Using rLottie)

AXrLottie (Android) Renders animations and vectors exported in the bodymovin JSON format. (Using rLottie)

AmirHosseinAghajari 54 Jul 15, 2021
Android library to create complex multi-state animations.

MultiStateAnimation Android library to create complex multi-state animations. Overview A class that allows for complex multi-state animations using An

Keepsafe 406 Jul 19, 2021
Actions for android animations. Inspired by libgdx scene2d actions.

Android Animations Actions Actions for android animations. Inspired by libgdx scene2d actions. The main goal of this project is making creating of com

dtx12 138 May 1, 2021
Customizable bounce animation for any view like in Clash Royale app

Bounceview-Android Customizable bounce animation for any view updation Getting Started In your build.gradle dependencies { implementation 'hari.bo

Hariprasanth S 148 Jul 21, 2021
[] An Android library which allows developers to easily add animations to ListView items

DEPRECATED ListViewAnimations is deprecated in favor of new RecyclerView solutions. No new development will be taking place, but the existing versions

Niek Haarman 5.6k Aug 1, 2021
Library containing common animations needed for transforming ViewPager scrolling for Android v13+.

ViewPagerTransforms Library containing common animations needed for transforming ViewPager scrolling on Android v13+. This library is a rewrite of the

Ian Thomas 2.5k Jul 23, 2021
💳 A quick and easy flip view through which you can create views with two sides like credit cards, poker cards etc.

The article on how this library was created is now published. You can read it on this link here. →. ?? EasyFlipView Built with ❤︎ by Wajahat Karim and

Wajahat Karim 1.3k Jul 28, 2021
Animations driven by finger movement

OffsetAnimator OffsetAnimator lets animate objects basing on touchevents, so users can be engaged in an animation process. Usage Add the library to yo

Ruslan Urmeev 316 Jul 12, 2021
:octocat: ≡ DirectSelect is a selection widget with an ethereal, full-screen modal popup displaying the available choices when the widget is interact with.

DIRECT SELECT [JAVA] Selection widget with an ethereal, full-screen modal popup displaying the available choices We specialize in the designing and co

Ramotion 527 Jul 7, 2021