Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class MainActivity extends AppCompatActivity {
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_bottom_bar);
- ArrayList<ScreenSlidePageFragment> fragList = new ArrayList<>();
- fragList.add(ScreenSlidePageFragment.newInstance(getString(R.string.home), R.color.red_inactive));
- fragList.add(ScreenSlidePageFragment.newInstance(getString(R.string.search), R.color.blue_inactive));
- fragList.add(ScreenSlidePageFragment.newInstance(getString(R.string.likes), R.color.blue_grey_inactive));
- fragList.add(ScreenSlidePageFragment.newInstance(getString(R.string.notification), R.color.green_inactive));
- fragList.add(ScreenSlidePageFragment.newInstance(getString(R.string.profile), R.color.purple_inactive));
- ScreenSlidePagerAdapter pagerAdapter = new ScreenSlidePagerAdapter(fragList, getSupportFragmentManager());
- final BubbleNavigationLinearView bubbleNavigationLinearView = findViewById(R.id.bottom_navigation_view_linear);
- bubbleNavigationLinearView.setTypeface(Typeface.createFromAsset(getAssets(), "rubik.ttf"));
- bubbleNavigationLinearView.setBadgeValue(0, null);
- bubbleNavigationLinearView.setBadgeValue(1, null); //invisible badge
- bubbleNavigationLinearView.setBadgeValue(2, null);
- bubbleNavigationLinearView.setBadgeValue(3, null);
- bubbleNavigationLinearView.setBadgeValue(4, null); //empty badge
- bubbleNavigationLinearView.setNavigationChangeListener(new BubbleNavigationChangeListener() {
- @Override
- public void onNavigationChanged(View view, int position) {
- }
- });
- final ViewPager viewPager = findViewById(R.id.view_pager);
- viewPager.setAdapter(pagerAdapter);
- viewPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
- @Override
- public void onPageScrolled(int i, float v, int i1) {
- }
- @Override
- public void onPageSelected(int i) {
- bubbleNavigationLinearView.setCurrentActiveItem(i);
- }
- @Override
- public void onPageScrollStateChanged(int i) {
- }
- });
- }
- }
- class ScreenSlidePagerAdapter(
- private val fragmentList: ArrayList<ScreenSlidePageFragment>,
- fm: FragmentManager
- ) : FragmentStatePagerAdapter(fm) {
- override fun getCount(): Int = fragmentList.size
- override fun getItem(position: Int): Fragment {
- if (position >= 0 && position < fragmentList.size)
- return fragmentList[position]
- return ScreenSlidePageFragment()
- }
- }
- private const val ARG_TITLE = "arg_title"
- private const val ARG_BG_COLOR = "arg_bg_color"
- class ScreenSlidePageFragment : Fragment() {
- private var title: String? = "Default title."
- private var bgColorResId: Int = R.color.blue_inactive
- private lateinit var inflatedView: View
- override fun onCreate(savedInstanceState: Bundle?) {
- super.onCreate(savedInstanceState)
- arguments?.let {
- title = it.getString(ARG_TITLE)
- bgColorResId = it.getInt(ARG_BG_COLOR)
- }
- }
- override fun onCreateView(
- inflater: LayoutInflater, container: ViewGroup?,
- savedInstanceState: Bundle?
- ): View? {
- // Inflate the layout for this fragment
- inflatedView = inflater.inflate(R.layout.fragment_screen_slide_page, container, false)
- return inflatedView
- }
- override fun onActivityCreated(savedInstanceState: Bundle?) {
- super.onActivityCreated(savedInstanceState)
- inflatedView.setBackgroundColor(ContextCompat.getColor(context!!, bgColorResId))
- // screen_slide_title.text = title
- }
- companion object {
- /**
- * Use this factory method to create a new instance of
- * this fragment using the provided parameters.
- *
- * @param title Title parameter
- * @param bgColorId Background Color
- * @return A new instance of fragment ScreenSlidePageFragment.
- */
- @JvmStatic
- fun newInstance(title: String, bgColorId: Int) =
- ScreenSlidePageFragment().apply {
- arguments = Bundle().apply {
- putString(ARG_TITLE, title)
- putInt(ARG_BG_COLOR, bgColorId)
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement