Как изменить значок профиля пользователя с помощью Glide в окне навигации mikepenz? - PullRequest
0 голосов
/ 02 мая 2018

Я уже проверил документацию: https://github.com/mikepenz/MaterialDrawer и я понимаю, что навигационный ящик mikepenz не имеет загрузчика изображений, поэтому я должен использовать это: // инициализируем и создаем логику загрузчика изображений

DrawerImageLoader.init(new AbstractDrawerImageLoader() {
    @Override
    public void set(ImageView imageView, Uri uri, Drawable placeholder, String tag) {
        Glide.with(imageView.getContext()).load(uri).placeholder(placeholder).into(imageView);
    }

    @Override
    public void cancel(ImageView imageView) {
        Glide.clear(imageView);
    }

но я не могу знать, как это назвать или использовать, я хочу использовать его здесь:

  AccountHeader headerResult = new AccountHeaderBuilder()
                .withActivity(activity)
                .withHeaderBackground(R.drawable.clouds_background)
                .addProfiles(
                        new ProfileDrawerItem().withName(name).withEmail(email)
                        .withIcon()
                        .withTextColor(R.color.colorPrimaryDark)
                )

Он должен использоваться внутри withIcon ()

Ответы [ 2 ]

0 голосов
/ 02 мая 2018

см. Ниже, чтобы добавить изображение URL:

 new ProfileDrawerItem().withName("Mike Penz").withEmail("mikepenz@gmail.com").withIcon("https://avatars3.githubusercontent.com/u/1476232?v=3&s=460").withIdentifier(100);

проверьте этот документ ссылка1 и ссылка2

0 голосов
/ 02 мая 2018

Используйте местозаполнитель и звоните так: Glide.with (imageView.getContext ()) нагрузки (URI) .placeholder (заполнитель) .into (ImageView);.

Вставьте это в свою инициализацию DrawerImageLoader:

  @Override
            public Drawable placeholder(Context ctx, String tag) {
                //define different placeholders for different imageView targets
                //default tags are accessible via the DrawerImageLoader.Tags
                //custom ones can be checked via string. see the CustomUrlBasePrimaryDrawerItem LINE 111
                if (DrawerImageLoader.Tags.PROFILE.name().equals(tag)) {
                    return DrawerUIUtils.getPlaceHolder(ctx);
                } else if (DrawerImageLoader.Tags.ACCOUNT_HEADER.name().equals(tag)) {
                    return new IconicsDrawable(ctx).iconText(" ").backgroundColorRes(com.mikepenz.materialdrawer.R.color.primary).sizeDp(56);
                } else if ("customUrlItem".equals(tag)) {
                    return new IconicsDrawable(ctx).iconText(" ").backgroundColorRes(R.color.md_red_500).sizeDp(56);
                }


                return super.placeholder(ctx, tag);
            }
        });
...