override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View { binding = DataBindingUtil.inflate(inflater, R.layout.your_fragment, container, false) binding.homeAction.setOnClickListener { select(R.id.home_action) } binding.likesAction.setOnClickListener { select(R.id.likes_action) } binding.searchAction.setOnClickListener { select(R.id.search_action) } binding.profileAction.setOnClickListener { select(R.id.profile_action) } return binding.root } fun select(id: Int) { TransitionManager.beginDelayedTransition(binding.bottomBar) val cs = ConstraintSet() cs.clone(binding.homeAction) if (id == R.id.home_action) { DrawableCompat.setTint(binding.homeAction.background, ContextCompat.getColor(context!!, R.color.home_color)) cs.setVisibility(binding.homeIconText.id, ConstraintSet.VISIBLE) } else { DrawableCompat.setTint(binding.homeAction.background, ContextCompat.getColor(context!!, android.R.color.transparent)) cs.setVisibility(binding.homeIconText.id, ConstraintSet.GONE) } cs.applyTo(binding.homeAction) cs.clone(binding.likesAction) if (id == R.id.likes_action) { DrawableCompat.setTint(binding.likesAction.background, ContextCompat.getColor(context!!, R.color.likes_color)) cs.setVisibility(binding.likesIconText.id, ConstraintSet.VISIBLE) } else { DrawableCompat.setTint(binding.likesAction.background, ContextCompat.getColor(context!!, android.R.color.transparent)) cs.setVisibility(binding.likesIconText.id, ConstraintSet.GONE) } cs.applyTo(binding.likesAction) cs.clone(binding.searchAction) if (id == R.id.search_action) { DrawableCompat.setTint(binding.searchAction.background, ContextCompat.getColor(context!!, R.color.search_color)) cs.setVisibility(binding.searchIconText.id, ConstraintSet.VISIBLE) } else { DrawableCompat.setTint(binding.searchAction.background, ContextCompat.getColor(context!!, android.R.color.transparent)) cs.setVisibility(binding.searchIconText.id, ConstraintSet.GONE) } cs.applyTo(binding.searchAction) cs.clone(binding.profileAction) if (id == R.id.profile_action) { DrawableCompat.setTint(binding.profileAction.background, ContextCompat.getColor(context!!, R.color.profile_color)) cs.setVisibility(binding.profileIconText.id, ConstraintSet.VISIBLE) } else { DrawableCompat.setTint(binding.profileAction.background, ContextCompat.getColor(context!!, android.R.color.transparent)) cs.setVisibility(binding.profileIconText.id, ConstraintSet.GONE) } cs.applyTo(binding.profileAction) }