Kitkat 에서 Vector 관련한 InflateException Binary XML file line… 에러에 대해

less than 1 minute read


Kitkat 에서 Vector 관련한 InflateException: Binary XML file line… 에러에 대해


개요

com.santalu.emptyview.EmptyView 라는 라이브러리에서 InflateException: Binary XML file line 에러를 만남.


문제원인

벡터드로워블 관련 이슈로, 라이브러리 내부적으로 드로워블을 가져올때 하위기종에 대한 호환성을 생각하지 않은듯 하다. 이슈에도 올라와 있는데 안고친듯;;(무슨 배짱이야)


해결

그래도 내부적으로 세터 메서드가 있었기 때문에 직접 코드적으로 적용해 줬더니 해결되었다.

// 일단 기본적인 벡터를 사용하기 위한 준비…
defaultConfig {
    vectorDrawables.useSupportLibrary = true
}


1 법

AppCompatResources.getDrawable(activity!!, R.drawable.ic_sentiment_very_dissatisfied)

2 법

//Application 단의 oncreate() 에서
AppCompatDelegate.setCompatVectorFromResourcesEnabled(true)

ContextCompat.getDrawable(activity!!, R.drawable.ic_sentiment_very_dissatisfied)

3 법

// 이 방법도 있나보다
VectorDrawableCompat.create(getResources(), drawableRes, null)