An Android library for creating beautiful, customizable Material Design intro screens with permission handling and parallax effects.
Material Intro Screen is an open-source Android library for creating beautiful and functional introduction screens (onboarding flows) for mobile applications. It solves the problem of building polished, consistent first-run experiences that can introduce app features, request permissions, and guide users—all while adhering to Material Design guidelines.
Android developers (using Java or Kotlin) who need to implement onboarding, permission requests, or introductory tours in their apps, particularly those prioritizing Material Design aesthetics and a smooth user experience.
Developers choose Material Intro Screen because it offers a ready-made, highly customizable solution that saves development time, provides built-in permission handling and parallax effects, and ensures a professional, on-brand first impression for users.
Inspired by Heinrich Reimer Material Intro and developed with love from scratch
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Provides dedicated fields like 'possiblePermissions' and 'neededPermissions' to seamlessly request runtime permissions during onboarding, as shown in the slide builder example.
Follows Material Design principles out of the box, ensuring a modern and consistent UI without extra effort, as emphasized in the features list.
Fully compatible with Android TV, allowing developers to create intro experiences for larger screens, a unique feature highlighted in the README.
Developers can create custom slides by extending SlideFragment and overriding methods like 'backgroundColor()' and 'buttonsColor()', demonstrated in the custom slides section.
Requires extending MaterialIntroActivity, which tightly couples the intro flow to this library and may complicate migration or integration with existing activity hierarchies.
Implementing custom animations or behaviors requires overriding interfaces like IViewTranslation and using translation wrappers, which can be complex for simple UI tweaks.
Designed for traditional Android Views and Activities, not compatible with modern UI frameworks like Jetpack Compose, restricting adoption in newer projects.