반응형
안드로이드 패키지의 리소스 ID에서 Drawable 객체를 어떻게 얻습니까?
이미지 버튼에 Drawable 객체를 표시해야합니다. android.R.drawable. * 패키지에서 객체를 가져 오기 위해 아래의 코드를 사용하는 방법이 있습니까?
예를 들어 drawableId가 android.R.drawable.ic_delete 인 경우
mContext.getResources().getDrawable(drawableId)
Drawable d = getResources().getDrawable(android.R.drawable.ic_dialog_email);
ImageView image = (ImageView)findViewById(R.id.image);
image.setImageDrawable(d);
현재 API (21) , 당신은 사용해야하는 getDrawable(int, Theme)
대신 방법을 getDrawable(int)
당신이 가져올 수로, drawable
특정과 관련된 객체 resource ID
주어진를 들어 screen density/theme
. deprecated
getDrawable(int)
메소드 호출은 호출과 동일합니다 getDrawable(int, null)
.
대신 지원 라이브러리에서 다음 코드를 사용해야합니다.
ContextCompat.getDrawable(context, android.R.drawable.ic_dialog_email)
이 메소드를 사용하는 것은 다음을 호출하는 것과 같습니다.
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
return resources.getDrawable(id, context.getTheme());
} else {
return resources.getDrawable(id);
}
API 21부터 다음을 사용할 수도 있습니다.
ResourcesCompat.getDrawable(getResources(), R.drawable.name, null);
대신에 ContextCompat.getDrawable(context, android.R.drawable.ic_dialog_email)
가장 좋은 방법은
button.setBackgroundResource(android.R.drawable.ic_delete);
또는 Drawable left의 경우 오른쪽과 같은 것입니다.
int imgResource = R.drawable.left_img;
button.setCompoundDrawablesWithIntrinsicBounds(imgResource, 0, 0, 0);
과
getResources().getDrawable()
더 이상 사용되지 않습니다
반응형
'programing tip' 카테고리의 다른 글
IE8에서 불투명 CSS가 작동하지 않습니다 (0) | 2020.06.17 |
---|---|
“git rm --cached x”대“git reset head-x”? (0) | 2020.06.17 |
커밋해서는 안되는 Gradle 구성 (예 : 자격 증명)을 어디에 두어야합니까? (0) | 2020.06.17 |
트위터 부트 스트랩 모달을 전체 화면으로 만드는 방법 (0) | 2020.06.16 |
JavaScript의 querySelector 및 querySelectorAll vs getElementsByClassName 및 getElementById (0) | 2020.06.16 |