Description
Using a regular ViewPager with a custom transformer with callbacks we can achieve this effect
Onboarding alternatives and similar packages
Based on the "ViewPager Widget" category.
Alternatively, view Onboarding alternatives based on common mentions on social networks and blogs.
-
Android-ViewPagerIndicator
DISCONTINUED. Paging indicator widgets compatible with the ViewPager from the Android Support Library and ActionBarSherlock. Originally based on Patrik Åkerfeldt's ViewFlow. -
SCViewPager
A simple keyframe-based animation framework for UIKit. Perfect for scrolling app intros. -
WoWoViewPager
Combine ViewPager and Animations to provide a simple way to create applications' guide pages. -
MultiViewPager
The MultiViewPager is an extension of the support-v4 library's ViewPager that allows the pages to be wider or narrower than the ViewPager itself. It takes care of aligning the pages next to each other, and always keeping the selected page centered. -
parallaxviewpager
DISCONTINUED. [Development stopped in 2014. Unfinished and not stable - not recommended to use.] An easy-to-use ViewPager subclass with parallax background effect for Android apps. -
ViewPagerExtensions
DISCONTINUED. A set of custom views for the ViewPager from the Android Support Package -
NumericPageIndicator
Android - A ViewPager page indicator that displays the current page number and (optionally) the page count -
Android-ScreenSlidePager
DISCONTINUED. Pager (especially for ViewPager) indicator in two styles: circle & fraction. -
LastPagerAdapter
Don't write a ViewPager Adapter! Hook up your ViewPager to your data model using Android Data Binding Framework. With Kotlin support!
InfluxDB - Purpose built for real-time analytics at any scale.
* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest.
Do you think we are missing an alternative of Onboarding or a related project?
README
Onboarding
A beautiful way to introduce users to you app
[Demo](graphics/example.gif)
Using a regular ViewPager
with a custom transformer with callbacks we can achieve this effect
Interface
public interface SceneChangeListener {
void enterScene(@Nullable ImageView sharedElement, float position);
void centerScene(@Nullable ImageView sharedElement);
void exitScene(@Nullable ImageView sharedElement, float position);
void notInScene();
}
We then a fragment class that implements the callbacks to react to movement
Fragment
public abstract class BaseSceneFragment extends Fragment
implements SceneTransformer.SceneChangeListener {
protected static final String KEY_POSITION = "KEY_POSITION";
// we have to set a position tag to the root layout of every scene fragment
// this is so the transformer will know who to make a callback to
protected void setRootPositionTag(@NonNull View root) {
root.setTag(getArguments().getInt(KEY_POSITION));
}
@Override
public abstract void enterScene(@Nullable ImageView sharedElement, float position);
@Override
public abstract void centerScene(@Nullable ImageView sharedElement);
@Override
public abstract void exitScene(@Nullable ImageView sharedElement, float position);
@Override
public abstract void notInScene();
...
}
License
Copyright (C) 2016 Eoin Fogarty
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 all licence references and agreements mentioned in the Onboarding README section above
are relevant to that project's source code only.