All Projects → dev-labs-bg → Transitioner

dev-labs-bg / Transitioner

Licence: mit
A library for dynamic view-to-view transitions

Programming Languages

kotlin
9241 projects

Projects that are alternatives of or similar to Transitioner

Dotsloaderview
Simple dots loader view
Stars: ✭ 63 (-96.93%)
Mutual labels:  library, view
Googlenewsstandanimation Android
Navigation pattern like in Google News Stand app with transitions
Stars: ✭ 130 (-93.66%)
Mutual labels:  library, transition
Calendarview
Calendar View Library
Stars: ✭ 71 (-96.53%)
Mutual labels:  library, view
Hhcustomcorner
Awesome library to customize corners of UIView and UIButton. Now you can customize each corner differently
Stars: ✭ 36 (-98.24%)
Mutual labels:  library, view
Show Case Card View
Show case card view
Stars: ✭ 151 (-92.63%)
Mutual labels:  library, view
Speedview
Dynamic Speedometer and Gauge for Android. amazing, powerful, and multi shape ⚡️
Stars: ✭ 1,035 (-49.49%)
Mutual labels:  library, view
Sunset.css
This library offers a collection of different CSS-powered transitions.
Stars: ✭ 99 (-95.17%)
Mutual labels:  library, transition
Tabulate
Table Maker for Modern C++
Stars: ✭ 862 (-57.93%)
Mutual labels:  library, view
Enviews
🌟A cool dynamic view library
Stars: ✭ 1,771 (-13.57%)
Mutual labels:  view, dynamic
Bounceview Android
Customizable bounce animation for any view like in Clash Royale app
Stars: ✭ 142 (-93.07%)
Mutual labels:  library, view
Fillingbutton
🔥Replace typical onLongClickListener with this library!
Stars: ✭ 31 (-98.49%)
Mutual labels:  library, view
Slidingsquareloaderview
Marvelous sliding square loader view
Stars: ✭ 166 (-91.9%)
Mutual labels:  library, view
Candyview
Implement any RecyclerView in just 1 Line. CandyView handles everything for you.
Stars: ✭ 15 (-99.27%)
Mutual labels:  library, view
Mindo
Generate mind maps easily in your android app.
Stars: ✭ 52 (-97.46%)
Mutual labels:  library, view
Androidlibs
🔥正在成为史上最全分类 Android 开源大全~~~~(长期更新 Star 一下吧)
Stars: ✭ 7,148 (+248.85%)
Mutual labels:  library, view
Floatingtoast
Android library to create customizable floating animated toasts like in Clash Royale app
Stars: ✭ 86 (-95.8%)
Mutual labels:  library, view
Vlany
Linux LD_PRELOAD rootkit (x86 and x86_64 architectures)
Stars: ✭ 804 (-60.76%)
Mutual labels:  library, dynamic
Crab
JavaScript library for building user interfaces with Custom Elements, Shadow DOM and React like API
Stars: ✭ 22 (-98.93%)
Mutual labels:  library, view
Overflow Pager Indicator
Simple paging indicator widget with pager dataset ovewflow effect à la Instagram behavior
Stars: ✭ 136 (-93.36%)
Mutual labels:  library, view
Layerjs
layerJS: Javascript UI composition framework
Stars: ✭ 1,825 (-10.93%)
Mutual labels:  library, transition

logo

License: MIT Download Twitter URL

Transitioner provides easy, dynamic and adjustable animations between two views with nested children.

App design feature here.

Usage

First you need to create a Transitioner object containing your original and ending views:

val transition = Transitioner(original_view, ending_view)

The view pairs must have matching "tag" attributes so that they can be bound together:

<ConstraintLayout
        android:id="@+id/original_view"
        android:tag="constrView"
        ...>

        <TextView
            android:id="@+id/text"
            android:tag="firstView"
            .../>
</ConstraintLayout>

<ConstraintLayout
        android:id="@+id/ending_view"
        android:tag="constrView"
        android:visibility="invisible"
        ...>

        <EditText
            android:id="@+id/text3"
            android:tag="firstView"
            .../>
 </ConstraintLayout>

I recommend you hide the second view layout, since it's only used as a placeholder for the end destination. The views can be of any type, you can mix and match them, the two layouts can have a different number of views and nested layouts are 100% supported. The only things to keep in mind are:

  • all views which you would want to match together must have the same tag attribute in both layouts

  • all unmatched views will remain at their original place inside the original layout

  • the second layout is just a placeholder. It doesn't hold any logic, it only shows where the original layout should move to.

Basic Usage

 transition.setProgress(0.5f)
 //or
 transition.setProgress(50)

Additional methods and tweaks

transition.duration = 500

transition.interpolator = AccelerateDecelerateInterpolator()

transition.animateTo(percent = 0f)

transition.onProgressChanged {
//triggered on every progress change of the transition
    seekBar.progress = (it * 100).toInt()
    }
    
val progress: Float = transition.currentProgress

Here is a preview of a simple application made using this library

Preview

This effect can be reproduced by placing the "Transitioner.setProgress(Float)" function inside a onTouch or a onProgressChanged method.

Download

Manually

The recommended way to download is to copy the single library class file and use it in your application.

Gradle

dependencies {
  compile 'bg.devlabs.transitioner:transitioner:<latest_version>'
}

Getting help

Dev Labs @devlabsbg

Radoslav Yankov @rado__yankov

Under MIT 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].