Advertisement
muhamad_lukman

activity_kotlin

Apr 25th, 2022
1,051
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Kotlin 4.25 KB | None | 0 0
  1. package com.mojadiapp.pro.presentation.onboarding
  2.  
  3. import android.content.Intent
  4. import android.os.Bundle
  5. import android.view.View
  6. import androidx.appcompat.app.AppCompatActivity
  7. import com.google.android.material.tabs.TabLayout
  8. import com.mojadiapp.pro.databinding.ActivityOnBoardingBinding
  9. import com.mojadiapp.pro.domain.model.onboarding.dummyOnBoarding
  10. import com.mojadiapp.pro.external.adapter.onboarding.OnBoardingAdapter
  11. import com.mojadiapp.pro.presentation.auth.login.LoginActivity
  12. import com.mojadiapp.pro.presentation.dashboard.DashboardActivity
  13. import dagger.hilt.android.AndroidEntryPoint
  14.  
  15. @AndroidEntryPoint
  16. class OnBoardingActivity : AppCompatActivity() {
  17.     private lateinit var _binding: ActivityOnBoardingBinding
  18.     private val binding get() = _binding
  19.  
  20.     override fun onCreate(savedInstanceState: Bundle?) {
  21.         super.onCreate(savedInstanceState)
  22.         _binding = ActivityOnBoardingBinding.inflate(layoutInflater)
  23.         setContentView(binding.root)
  24.         initViewPager()
  25.         binding.apply {
  26.             btnSkip.setOnClickListener {
  27.                 val toLogin = Intent(binding.root.context, LoginActivity::class.java)
  28.                 binding.root.context.startActivity(toLogin)
  29.                 finish()
  30.             }
  31.             btnSignIn.setOnClickListener {
  32.                 val toLogin = Intent(binding.root.context, LoginActivity::class.java)
  33.                 binding.root.context.startActivity(toLogin)
  34.                 finish()
  35.             }
  36.             btnBrowse.setOnClickListener {
  37.                 val dashboard = Intent(binding.root.context, DashboardActivity::class.java)
  38.                 binding.root.context.startActivity(dashboard)
  39.                 finish()
  40.             }
  41.         }
  42.     }
  43.  
  44.     private fun initViewPager() {
  45.         binding.apply {
  46.             val onBoardingAdapter = OnBoardingAdapter(binding.root.context, dummyOnBoarding())
  47.             tabLayoutDot.apply {
  48.                 setupWithViewPager(viewPagerOnboarding)
  49.                 addOnTabSelectedListener(object : TabLayout.OnTabSelectedListener {
  50.                     override fun onTabSelected(tab: TabLayout.Tab?) {
  51.                         if (tab!!.position == dummyOnBoarding().size - 1) {
  52.                             btnSkip.visibility = View.GONE
  53.                             btnNext.visibility = View.GONE
  54.                             //
  55.                             btnSignIn.visibility = View.VISIBLE
  56.                             btnBrowse.visibility = View.VISIBLE
  57.                         }
  58.                     }
  59.  
  60.                     override fun onTabUnselected(tab: TabLayout.Tab?) {
  61.                         if (tab!!.position < dummyOnBoarding().size) {
  62.                             btnSkip.visibility = View.VISIBLE
  63.                             btnNext.visibility = View.VISIBLE
  64.                             //
  65.                             btnSignIn.visibility = View.GONE
  66.                             btnBrowse.visibility = View.GONE
  67.                         }
  68.                     }
  69.  
  70.                     override fun onTabReselected(tab: TabLayout.Tab?) {
  71.                         if (tab!!.position < dummyOnBoarding().size) {
  72.                             btnSkip.visibility = View.VISIBLE
  73.                             btnNext.visibility = View.VISIBLE
  74.                             //
  75.                             btnSignIn.visibility = View.GONE
  76.                             btnBrowse.visibility = View.GONE
  77.                         }
  78.                     }
  79.  
  80.                 })
  81.             }
  82.  
  83.             viewPagerOnboarding.apply {
  84.                 adapter = onBoardingAdapter
  85.                 btnNext.setOnClickListener {
  86.                     var position = currentItem
  87.                     if (position < dummyOnBoarding().size) {
  88.                         position += 1
  89.                         currentItem = position
  90.                     }
  91.                     if (position == dummyOnBoarding().size - 1) {
  92.                         btnSkip.visibility = View.GONE
  93.                         btnNext.visibility = View.GONE
  94.                         //
  95.                         btnSignIn.visibility = View.VISIBLE
  96.                         btnBrowse.visibility = View.VISIBLE
  97.                     }
  98.                 }
  99.             }
  100.         }
  101.  
  102.     }
  103.  
  104.  
  105. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement