작업을 하면서 Activity가 아닌 클래스에서 이미지 asset을 참조해
이를 이미지뷰에 적용하고자 하였는데, 리소스 혹은 context로부터 getDrawable을 하면
SDK limit이 걸리는 걸 확인할 수 있었다. (SDK 버전 21 아래에서는 먹히지 않는다는 코드)
대안을 찾고자 검색을 하였고 ContextComnpat을 통해 SDK 버전에 구애받지 않으면서
Activity가 아닌 별도의 클래스에서 이미지 asset을 참조할 수 있었다.
ContextCompat.getDrawable(getContext(), R.drawable.참조할Drawable)
이를 이미지뷰에 넣고자 할 땐
myImageView.setImageDrawable(상단의코드)
< 참조 >
What to use In place of getDrawable(int) in lower API like 15
I am writing an app where I use below code but it's for API 21 and above. ImageView i = (ImageView) findViewById(R.id.tickcross); i.setImageDrawable(getDrawable(R.drawable.weirdtick)); What can I...
stackoverflow.com
'ANDROID' 카테고리의 다른 글
[안드로이드] 빌드 속도를 올리는 짧은 팁. (0) | 2023.03.23 |
---|---|
[안드로이드] 데이터바인딩(DataBinding)을 사용할 때 include한 레이아웃의 View 참조하기 (0) | 2019.10.08 |
[안드로이드] 데이터바인딩을 Fragment에 적용할 때의 유의할 점. (0) | 2019.10.03 |
[안드로이드] API 버전에 구애받지 않는 Notification 설정하기 (0) | 2019.09.18 |
[안드로이드] 여러 페이지를 담은 PDF 파일 생성하기 (1) | 2018.12.13 |