Как получить SVG удаленно - PullRequest
0 голосов
/ 04 мая 2019

Я получаю флаг стран, используя API RestFul, изображения в формате svg, поэтому glide не поддерживает формат svg.

Glide.with(context)
            .load(countriesListObj.getFlag())
            .apply(RequestOptions.circleCropTransform())
            .into(holder.countryFlag);

Я нашел другие решения для svg

  GlideToVectorYou
            .init()
            .with(this)
            .withListener(new GlideToVectorYouListener() {
                @Override
                public void onLoadFailed() {
                    Toast.makeText(context, "Load failed", Toast.LENGTH_SHORT).show()
                }

                @Override
                public void onResourceReady() {
                    Toast.makeText(context, "Image ready", Toast.LENGTH_SHORT).show()
                }
            })
            .setPlaceHolder(placeholderLoading, placeholderError)
            .load(IMAGE_URL, imageview); 

вот еще один способ

 SvgLoader.pluck()
            .with(activity))
            .setPlaceHolder(R.mipmap.ic_launcher, R.mipmap.ic_launcher)
            .load("http://www.clker.com/cliparts/u/Z/2/b/a/6/android-toy-h.svg", image);

Я тоже нашел другой, но каждый метод проходит Активность

(. С (активность)))

и в глиссаде мы передаем контекст.Я преобразую контекст в активность как

(Activity) context;

, но он показывает ошибку

java.lang.NoSuchMethodError: Нет статического метода buildStreamModelLoader (Ljava / lang / Class; Landroid / content /Контекст;) Lcom / bumptech / скольжения / нагрузки / модель / ModelLoader;в классе Lcom / Bumptech / Glide / Glide;или его суперклассы (объявление 'com.bumptech.glide.Glide' появляется в /data/app/com.abc.online-NgaithsDmCnw4eJKDV789==/split_lib_dependencies_apk.apk)

...