Android:context.getDrawable()에 대한 대안
사용한 적이 있습니다.context.getDrawable()
내 프로젝트에서 이런 식으로:
Drawable greenProgressbar = context.getDrawable(R.drawable.custom_progressbargreen);
하지만 Eclipse는 나에게 그것이 필요하다는 오류를 주고 있습니다.Minimum API level of 21
이것은 빠른 구글 검색 후 내 앱은 오직 에만 사용할 수 있다는 것을 의미합니다.Android 5.0
모든 기기가 이 버전의 안드로이드를 사용하는 것은 아니기 때문에 저는 대안을 가지고 싶습니다.context.getDrawable()
.
SDK 22 설명서에 따르면 이전에 승인된 방법은 더 이상 사용되지 않습니다.
Android.os 이전 버전.Build.VERSION_CODES#JELLY_BEAN.여기에 전달된 리소스 ID가 다른 그리기 가능 리소스에 대한 별칭인 경우 이 함수는 최종 구성 밀도를 올바르게 검색하지 않습니다.즉, 별칭 리소스의 밀도 구성이 실제 리소스와 다를 경우 반환된 그리기 테이블의 밀도가 잘못되어 스케일링이 불량해집니다.
이 답변에서 지적했듯이, 더 나은 해결책은 ContextCompat을 사용입니다.ContextCompat.getDrawable(context, R.drawable.***)
추가 agetResources()
컨텍스트 다음:
Drawable greenProgressbar = context.getResources().getDrawable(R.drawable.custom_progressbargreen);
저도 참고하고 싶은 상황이 있었습니다.getDrawable()
현재는 더 이상 사용되지 않는 메서드입니다.
사용한 내용:
myButton.setImageDrawable(ContextCompat.getDrawable(getActivity(), R.drawable.ic_btn_off));
Drawable greenProgressbar = context.getResources().getDrawable(R.drawable.custom_progressbargreen);
Kotlin 프로그래머를 위한 솔루션은 다음과 같습니다.
val greenProgressbar = context!!.getDrawable(R.drawable.custom_progressbargreen)
또는 (API 22에서)
val greenProgressbar = ContextCompat.getDrawable(R.drawable.custom_progressbargreen)
AppCompatResources.getDrawable(context, R.drawable.*)
"getDrawable(id, this.get)"을 사용해야 합니다.테마() ".이 방법은 지금까지 사용되지 않습니다.
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
view.setBackground(getResources().getDrawable(R.drawable.radioline,this.getTheme()));
} else {
view.setBackground(getResources().getDrawable(R.drawable.radioline));
}
ContextCompact.getDrawable(콘텍스트 컨텍스트, 인터레스트) 사용에 동의합니다.ID). 저와 제 앱 대상 API 19에 효과가 있었습니다.
드로잉 가능(Kotlin)으로 작업하지 않고 리소스를 직접 설정할 수도 있습니다.
btn.setImageResource(R.drawable.ic_XXX)
언급URL : https://stackoverflow.com/questions/27796246/android-alternative-for-context-getdrawable
'prosource' 카테고리의 다른 글
C# 코드에서 wpf의 ResourceDictionary에 액세스하려면 어떻게 해야 합니까? (0) | 2023.04.28 |
---|---|
Swift 컴파일러 오류: "프레임워크 모듈 내부의 비모듈형 헤더" (0) | 2023.04.28 |
Java 8: 새 줄과 들여쓰기로 람다 서식 지정 (0) | 2023.04.28 |
코드백에서 최소화된 창을 복원하는 방법은 무엇입니까? (0) | 2023.04.28 |
rvm use 2.0.0 --default를 수행할 때 "경고! PATH가 제대로 설정되지 않았습니다"가 표시됨 (0) | 2023.04.28 |