Advertisement
Guest User

Untitled

a guest
Jun 19th, 2019
74
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.11 KB | None | 0 0
  1. public class MainActivity extends AppCompatActivity {
  2.  
  3. @Override
  4. protected void onCreate(Bundle savedInstanceState) {
  5. super.onCreate(savedInstanceState);
  6. setContentView(R.layout.activity_bottom_bar);
  7.  
  8. ArrayList<ScreenSlidePageFragment> fragList = new ArrayList<>();
  9.  
  10.  
  11.  
  12. fragList.add(ScreenSlidePageFragment.newInstance(getString(R.string.home), R.color.red_inactive));
  13. fragList.add(ScreenSlidePageFragment.newInstance(getString(R.string.search), R.color.blue_inactive));
  14. fragList.add(ScreenSlidePageFragment.newInstance(getString(R.string.likes), R.color.blue_grey_inactive));
  15. fragList.add(ScreenSlidePageFragment.newInstance(getString(R.string.notification), R.color.green_inactive));
  16. fragList.add(ScreenSlidePageFragment.newInstance(getString(R.string.profile), R.color.purple_inactive));
  17. ScreenSlidePagerAdapter pagerAdapter = new ScreenSlidePagerAdapter(fragList, getSupportFragmentManager());
  18.  
  19. final BubbleNavigationLinearView bubbleNavigationLinearView = findViewById(R.id.bottom_navigation_view_linear);
  20. bubbleNavigationLinearView.setTypeface(Typeface.createFromAsset(getAssets(), "rubik.ttf"));
  21.  
  22.  
  23.  
  24.  
  25. bubbleNavigationLinearView.setBadgeValue(0, null);
  26. bubbleNavigationLinearView.setBadgeValue(1, null); //invisible badge
  27. bubbleNavigationLinearView.setBadgeValue(2, null);
  28. bubbleNavigationLinearView.setBadgeValue(3, null);
  29. bubbleNavigationLinearView.setBadgeValue(4, null); //empty badge
  30.  
  31. bubbleNavigationLinearView.setNavigationChangeListener(new BubbleNavigationChangeListener() {
  32. @Override
  33. public void onNavigationChanged(View view, int position) {
  34.  
  35.  
  36.  
  37. }
  38. });
  39.  
  40.  
  41.  
  42. final ViewPager viewPager = findViewById(R.id.view_pager);
  43. viewPager.setAdapter(pagerAdapter);
  44. viewPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
  45. @Override
  46. public void onPageScrolled(int i, float v, int i1) {
  47. }
  48.  
  49. @Override
  50. public void onPageSelected(int i) {
  51. bubbleNavigationLinearView.setCurrentActiveItem(i);
  52. }
  53.  
  54. @Override
  55. public void onPageScrollStateChanged(int i) {
  56.  
  57. }
  58. });
  59.  
  60. }
  61.  
  62. }
  63.  
  64. class ScreenSlidePagerAdapter(
  65. private val fragmentList: ArrayList<ScreenSlidePageFragment>,
  66. fm: FragmentManager
  67. ) : FragmentStatePagerAdapter(fm) {
  68.  
  69. override fun getCount(): Int = fragmentList.size
  70.  
  71. override fun getItem(position: Int): Fragment {
  72. if (position >= 0 && position < fragmentList.size)
  73. return fragmentList[position]
  74. return ScreenSlidePageFragment()
  75. }
  76. }
  77.  
  78. private const val ARG_TITLE = "arg_title"
  79. private const val ARG_BG_COLOR = "arg_bg_color"
  80.  
  81.  
  82. class ScreenSlidePageFragment : Fragment() {
  83. private var title: String? = "Default title."
  84. private var bgColorResId: Int = R.color.blue_inactive
  85.  
  86. private lateinit var inflatedView: View
  87.  
  88. override fun onCreate(savedInstanceState: Bundle?) {
  89. super.onCreate(savedInstanceState)
  90. arguments?.let {
  91. title = it.getString(ARG_TITLE)
  92. bgColorResId = it.getInt(ARG_BG_COLOR)
  93. }
  94. }
  95.  
  96. override fun onCreateView(
  97. inflater: LayoutInflater, container: ViewGroup?,
  98. savedInstanceState: Bundle?
  99. ): View? {
  100. // Inflate the layout for this fragment
  101. inflatedView = inflater.inflate(R.layout.fragment_screen_slide_page, container, false)
  102. return inflatedView
  103. }
  104.  
  105. override fun onActivityCreated(savedInstanceState: Bundle?) {
  106. super.onActivityCreated(savedInstanceState)
  107. inflatedView.setBackgroundColor(ContextCompat.getColor(context!!, bgColorResId))
  108. // screen_slide_title.text = title
  109. }
  110.  
  111. companion object {
  112. /**
  113. * Use this factory method to create a new instance of
  114. * this fragment using the provided parameters.
  115. *
  116. * @param title Title parameter
  117. * @param bgColorId Background Color
  118. * @return A new instance of fragment ScreenSlidePageFragment.
  119. */
  120. @JvmStatic
  121. fun newInstance(title: String, bgColorId: Int) =
  122. ScreenSlidePageFragment().apply {
  123. arguments = Bundle().apply {
  124. putString(ARG_TITLE, title)
  125. putInt(ARG_BG_COLOR, bgColorId)
  126. }
  127. }
  128. }
  129. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement