Загрузка изображения внутри значка элемента нижней панели навигации с использованием URL-адреса

Я пытаюсь загрузить изображение профиля, используя URL-адрес хранилища firebase внутри значка элемента нижней панели навигации, вот мой код:

       Glide.with(getApplicationContext()).asBitmap().load(profilePicUrl)
    .into(new CustomTarget<Bitmap>() {

        @Override
        public void onResourceReady(@NonNull Bitmap resource, @Nullable Transition<? super Bitmap> transition) {
            Drawable profileImage = new BitmapDrawable(getResources(), resource);
            bottomNav.getMenu().getItem(4).setIcon(profileImage);
        }

        @Override
        public void onLoadCleared(@Nullable Drawable placeholder) {

        }
    });

В работает, я уже использую его для просмотра другого изображения. Однако, когда я запускаю приложение, размеры значка меняются в соответствии с изображением, которое я пытаюсь загрузить, но внутри нет изображения, вот как это выглядит.

1 ответ

Меню не поддерживают цветные изображения

Вы не можете использовать цветное изображение в этих местах и ​​еще немного:

  1. В нижней навигации
  2. В панели навигации
  3. Во всплывающем меню
  4. так далее...

По сути, любой вид, использующий файл меню в качестве своего ресурса, не может иметь цветное изображение. Вот почему вы этого не видите. Чтобы проверить это самостоятельно, возьмите красочное изображение в своем чертеже и установите его в качестве значка для нижней навигации. Вы замечаете, что это происходит таким же образом. Это доказывает

Правки


  1. Этот пост дает некоторую информацию о том, как это сделать
  2. Вы можете сделать это следующим образом:
            mBottomNav.setItemIconTintList(null);
    
Другие вопросы по тегам