vxh.viet
5/22/2018 - 4:21 AM

Vector Drawable crash in API < 21

Vector Drawable crash in API < 21

SOURCE

In short, add this to the onCreate of Application class

AppCompatDelegate.setCompatVectorFromResourcesEnabled(true);

And use ContextCompat, ResourcesCompat, AppCompatResources or VectorDrawableCompat to load the vector image as drawable, don't use ImageView.setImageResource(). Sample example using Glide:

Drawable defaultAvatar = ContextCompat.getDrawable(context, R.drawable.ic_provider_default_circle);

Glide.with(viewHolder.iv_avatar)
      .load(imageURL)
      .apply(RequestOptions.circleCropTransform()
              .placeholder(defaultAvatar)
              .error(defaultAvatar))
      .transition(DrawableTransitionOptions.withCrossFade())
      .into(viewHolder.iv_avatar);