Android Library to make a cool intro for your app.
Watch YouTube video here.
##How to use Add this to your build.gradle:
repositories { mavenCentral() } dependencies { compile 'com.github.paolorotolo:appintro:3.2.0' }
Create a new Activity that extends AppIntro:
public class MyIntro extends AppIntro { // Please DO NOT override onCreate. Use init @Override public void init(Bundle savedInstanceState) { // Add your slide's fragments here // AppIntro will automatically generate the dots indicator and buttons. addSlide(first_fragment); addSlide(second_fragment); addSlide(third_fragment); addSlide(fourth_fragment); // Instead of fragments, you can also use our default slide // Just set a title, description, background and image. AppIntro will do the rest addSlide(AppIntroFragment.newInstance(title, description, image, background_colour)); // OPTIONAL METHODS // Override bar/separator color setBarColor(Color.parseColor("#3F51B5")); setSeparatorColor(Color.parseColor("#2196F3")); // Hide Skip/Done button showSkipButton(false); showDoneButton(false); // Turn vibration on and set intensity // NOTE: you will probably need to ask VIBRATE permesssion in Manifest setVibrate(true); setVibrateIntensity(30); } @Override public void onSkipPressed() { // Do something when users tap on Skip button. } @Override public void onDonePressed() { // Do something when users tap on Done button. } }
Please, DO NOT override onCreate. Just use init instead
Layout 2
If you want to try new layout (as seen in Google's Photo app), just extend AppIntro2 in your Activity. That's all :)
public class MyIntro extends AppIntro2 { [...] }
### Easy implementation of Slide Fragments As you can see, things have changed in AppIntro 3.0.0. Now it's so easy to add new slides to AppIntro.
For example: * Copy the class **SampleSlide** from my [example project](https://github.com/PaoloRotolo/AppIntro/blob/master/example/src/main/java/com/github/paolorotolo/appintroexample/SampleSlide.java). * Add a new slide with ```addSlide(SampleSlide.newInstance(R.layout.your_slide_here));```
There's no need to create one class for fragment anymore. :)
I've never used fragments...
No problem, just use this method and AppIntro will generate a new slide for you.
addSlide(AppIntroFragment.newInstance(title, description, image, background_colour));
Animations
AppIntro comes with some pager animations. Choose the one you like and then active it with:
// Put this method in init() setFadeAnimation();
Available animations:
setFadeAnimation() setZoomAnimation() setFlowAnimation() setSlideOverAnimation() setDepthAnimation()
If you want to create nice parallax effect or your custom animation, create your own PageTransformer and call:
// Put this method in init() setCustomTransformer(transformer);
Click here to see how I did it in the example app.
Android M ready
Android M introduced some exiting updates about permissions.
Let's say your Slide A talks about using location. As you go to Slide B, the app can actually requests location permission.
How can you do it? Simple, try this method:
onDotSelected(index) { if (index == 1) { // Code to ask permission here } }
Example
See example code here on Github. You can also see it live downloading this app from Google Play.
Apps using it
- Numix Hermes;
- Audio Reminder Pro;
- Wizr Daily Quotes;
- Planets;
- Weather Delta;
- PDF Me;
- Circles;
- Task Master;
- Smoothie Recipes;
- SideBar Notes;
If you are using AppIntro in your app and would like to be listed here, please let me know via email!
Real life examples
Do you need inspiration? A lot of apps are using AppIntro out there:
Planets
Hermes - Material IRC Client








