0

I'm trying to show the user photo in BottomNavigationView but I don't know how to do it correctly.

This solution is working fine but other items will lose their colors

Drawable drawable = activityMainBinding.activityMainBottomNavigationViewBottomNavigation.getMenu().findItem(R.id.menu_bottom_navigation_user).getIcon();
activityMainBinding.activityMainBottomNavigationViewBottomNavigation.setItemIconTintList(null);

The Code Result

I tried to solve the problem by applying the setItemIconTintList method on the user-item only

Drawable drawable = activityMainBinding.activityMainBottomNavigationViewBottomNavigation.getMenu().findItem(R.id.menu_bottom_navigation_user).getIcon();
drawable.setState(null);
drawable.setTintList(null);
drawable.clearColorFilter();
activityMainBinding.activityMainBottomNavigationViewBottomNavigation.getMenu().findItem(R.id.menu_bottom_navigation_user).setIcon(drawable);

The Code Result

How can I solve the problem?

I hope someone shows the attached images directly because I cannot do it.

Taha Sami
  • 1,565
  • 1
  • 16
  • 43

1 Answers1

1

You Can Use This Code:

Menu navMenu = activityMainBinding.activityMainBottomNavigationViewBottomNavigation.getMenu();
MenuItem menuItem = navMenu.findItem(R.id.menu_bottom_navigation_user);
Glide.with(context)
    .asBitmap()
    .load("your image")
    .apply(RequestOptions
            .circleCropTransform()
            .placeholder("Your PlaceHolder"))
    .into(new SimpleTarget<Bitmap>() {
        public void onResourceReady(Bitmap resource, Transition<Bitmap> transition) {
            menuItem.setIcon(new BitmapDrawable(context.getResource(), resource));
        }
    })
OneDev
  • 557
  • 3
  • 14