项目作者: mahmoud-assaf

项目描述 :
Kotlin lib for OnBoarding screens
高级语言: Kotlin
项目地址: git://github.com/mahmoud-assaf/OnBoardingViewLib.git
创建时间: 2019-04-06T18:49:31Z
项目社区:https://github.com/mahmoud-assaf/OnBoardingViewLib

开源协议:Apache License 2.0

下载


OnBoardingView

OnBoardingView , a view for quickly crate onboarding screens in kotlin .

Motivation

OnBoardingView was built for learning purposes and engaging in open source .

Install

  • Add jitpack in your root build.gradle at the end of repositories:
    1. allprojects {
    2. repositories {
    3. ...
    4. maven { url 'https://jitpack.io' }
    5. }
    6. }
  • Add the dependency
    1. dependencies {
    2. implementation 'com.github.mahmoud-assaf:OnBoardingViewLib:0.3'
    3. }

Features

  1. - Quick implmentation.
  2. - Custom screen background colors with gradual transition in between .
  3. - customize forground colors and colors of indicator .
  4. - callbacks on onboarding finish and onboarding end .


OnBoardingView

Usage

include in xml layout

  1. <com.mahmoud.onboardingview.OnBoardingView
  2. android:id="@+id/onboardingView"
  3. app:indicatorSelectedColor="@android:color/black" <!--selected screen dot color-->
  4. app:indicatorUnselectedColor="@android:color/white" <!-- unselected screens dots color-->
  5. app:foregroundColor="@android:color/white" <!-- title ,subtitle ,skip button text colors-->
  6. app:showSeparator="true" <!--bottom divider , defaults true-->
  7. android:layout_width="0dp"
  8. android:layout_height="0dp"
  9. app:appIconRes="@drawable/ic_app"/> <!--optional icon on upper start corner (app icon may be)-->

in ur (full screen) activity

  1. val onBoardingView=findViewById(R.id.onboardingView)
  2. var screens= arrayListOf<OnBoardingScreen>() //OnBoardingScreen(titleText: String,subTitleText:String,drawableResId:Int?,screenBGColor: Int)
  3. screens.add(OnBoardingScreen(titleText = "Title 1",
  4. subTitleText = "introducing awesome new feature 1 ",
  5. screenBGColor = Color.RED,
  6. drawableResId = R.drawable.im1
  7. ))
  8. screens.add(OnBoardingScreen(
  9. titleText = "Title 2",
  10. subTitleText = "introducing awesome new feature 2 ",
  11. drawableResId = R.drawable.im2,
  12. screenBGColor = Color.parseColor("#FE6F0C")
  13. ))
  14. screens.add(OnBoardingScreen(
  15. titleText = "Title 3",
  16. subTitleText = "introducing awesome new feature 3 ",
  17. drawableResId = R.drawable.im3,
  18. screenBGColor =Color.MAGENTA
  19. ))
  20. screens.add(OnBoardingScreen(
  21. titleText = "Title 4",
  22. subTitleText = "introducing awesome new feature 4 ",
  23. screenBGColor = Color.RED,
  24. drawableResId = R.drawable.im4
  25. ))
  26. onBoardingView.setScreens(screens)
  27. onBoardingView.onEnd {
  28. //finish()
  29. Toast.makeText(this,"OnBoarding Finished",Toast.LENGTH_SHORT).show()
  30. }
  31. onBoardingView.onFinish {
  32. Toast.makeText(this,"OnBoarding last screen",Toast.LENGTH_SHORT).show()
  33. /* return false will not trigger this action again(on swipe back ) ,
  34. true will trigger it with every swipe to last screen ,
  35. may used for showing some animation or something */
  36. return@onFinish false
  37. }

License

Apache 2