Android에서 이미지 보기를 지우는 방법은 무엇입니까?
재사용 중입니다.ImageViews는 디스플레이를 위한 것이지만, 어느 순간에는 그것을 표현할 가치가 없습니다.
그래서 클리어하는 방법ImageViewAndroid 서에?
시도해 봤습니다.
mPhotoView.invalidate();
mPhotoView.setImageBitmap(null);
보기를 삭제한 것은 없으며 이전 이미지가 계속 표시됩니다.
viewToUse.setImageResource(0);
작동하지만 문서화되어 있지 않기 때문에 보기의 다른 항목에 영향을 미치는지 확실하지 않습니다(원하신다면 ImageView 코드를 확인할 수 있습니다).
가장 좋은 해결책은 다음과 같습니다.
viewToUse.setImageResource(android.R.color.transparent);
나는 이 해결책이 가장 마음에 듭니다. 왜냐하면 국가를 되돌리는 데 까다로운 것이 없고 그것이 무엇을 하고 있는지 또한 명확하기 때문입니다.
비슷한 문제가 있었습니다. 기본적으로 화면에서 ImageView를 완전히 제거해야 했습니다.여기서 일부 답변은 올바른 방향으로 나를 이끌었지만, 궁극적으로 집합 ImageDrawable()을 호출하는 것은 나에게 효과적이었습니다.
imgView.setImageDrawable(null);
(댓글에 언급된 바와 같이, 이러한 사용은 공식 문서에 문서화되어 있습니다.ImageView #setImageDrawable.)
오래된 일인 건 알지만, 저는 이 일을 해낼 수 있었습니다.
viewToUse.setImageResource(0);
효과가 있을 것 같지는 않지만, 저는 즉흥적으로 시도했고, 완벽하게 효과가 있었습니다.
원하는 것은 다른 이미지를 표시하지 않을 때 ImageView를 설정하는 기본 이미지인 것 같습니다.연락처 응용프로그램은 다음과 같이 수행합니다.
if (photoId == 0) {
viewToUse.setImageResource(R.drawable.ic_contact_list_picture);
} else {
// ... here is where they set an actual image ...
}
ImageView에서 Image 및 DrawableCache를 지우려고 시도했습니다.
ImgView.setImageBitmap(null);
ImgView.destroyDrawingCache();
이것이 당신에게 효과가 있기를 바랍니다!
방법이 이한솔션중이특설이정한지를솔없경는우이루션우는미히지루미러특▁you▁if▁are경(없우)es)setImageResource(0)또는setImageResources(android.R.color.transparent)다음을 사용하여 현재 이미지가 배경으로 설정되지 않았는지 확인합니다.setBackgroundDrawable(...)아니면 비슷한 것.
코드는 전경의 이미지 리소스를 설정한 배경 이미지 앞에 투명하게 설정하고 계속 표시합니다.
글라이드를 사용하면 이렇게 할 수 있습니다.
Glide.with(yourImageView).clear(yourImageView)
안녕하세요, 제가 이 답변에 매우 늦었다는 것을 알지만, 저는 이것을 공유해야 한다고 생각했습니다.
이미지를 재설정할 때 호출할 방법은 설정할 때 호출한 방법과 동일해야 합니다.
영상 소스를 재설정하려는 경우 @denis.셰퍼드 답변은 원래 비트맵에서 이미지를 설정할 때만 잘 작동합니다.setImageResource()
예를 들어.
나는 사용했습니다.setImageBitmap()따라서 설정.setImageResource(0)작동했어요, 대신에 저는 사용했어요.setImageBitmap(null).
그리기 가능한 항목(blank_white_shape.xml과 같은 항목)을 정의하여 이를 달성할 수 있었습니다.
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<solid android:color="@android:color/white"/>
</shape>
그러면 이미지 보기를 지우고 싶을 때 전화합니다.
imageView.setImage(R.drawable.blank_white_shape);
이것은 저에게 아주 잘 맞습니다!
이것은 나에게 효과가 있습니다.
emoji.setBackground(null);
런타임에 충돌합니다.
viewToUse.setImageResource(android.R.color.transparent);
ListView 항목 이미지의 경우 설정할 수 있습니다.ImageView.setVisibility(View.INVISIBLE)또는ImageView.setImageBitmap(null)목록 어댑터에서 "이미지 없음" 대소문자를 구분합니다.
kwasi가 쓰고 golu가 편집했듯이 흰색 대신 투명한 것을 사용할 수 있습니다.
파일drawable/transparent.xml
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" >
<solid android:color="@android:color/transparent"/>
</shape>
활동, 보기 등 내부:
view.setImageResource(R.drawable.transparent);
ImageView에서 이미지를 제거하려면 다음을 사용합니다.
title_image.setImageResource(-1);
저한테는 효과가 있어요.
만약 당신이 지원 라이브러리를 사용한다면, 당신은AppCompatImageView대신에ImageView을 지원하는setImageResource(0)모든 장치에서, 그래서 당신은 그것을 사용하는 것과 같은 방법으로 사용하는 것이 괜찮을 것입니다.setImageDrawable(null)그리고.setImageBitmap(null)
그렇지 않으면 일부 Android 버전부터 정상적으로 작동합니다.Android 코드와 테스트에 따르면 안전하게 사용할 수 있어야 한다고 생각합니다.setImageResource(0)Android API 22(5.1)에서 다운로드할 수 있습니다.여기서 API 22 대 API 21의 안드로이드 코드를 볼 수 있습니다.
저는 같은 문제에 직면했습니다. 배경색을 레이아웃 배경색으로 변경했습니다. 이렇게 할 수 있습니다.
edit_countflag.setBackgroundColor(Color.parseColor("#ffffff"));
//그런 다음 이미지 설정
edit_countflag.setImageResource(R.drawable.flag_id);
다음을 사용하여 ImageView의 이미지도 제거하려고 했습니다.ImageView.setImageRessource(0)하지만 저한테는 효과가 없었어요.
다행히도 로그에 다음 메시지가 기록되었습니다.
Caused by: java.lang.IllegalStateException: The specified child already has a parent.
You must call removeView() on the child's parent first.
자, 이렇게 말하죠.layoutmanager는 레이아웃에 대한 인스턴스이며, 필요한 경우는 다음과 같습니다.
RelativeLayout layoutManager = new RelativeLayout(this);
ImageView image = new ImageView(this);
// this line worked for me
layoutManager.removeView(image);
제가 여러분 모두가 설정하려는 것과 추첨 가능한 것을 기대하는 곳을 지적할 수 있을까요?
당신은 다음을 하지 말아야 합니까?
imageview.setImageDrawable(this.getResources().getDrawable(R.drawable.icon_image));
imageview.setImageDrawable(getApplicationContext().getResources().getDrawable(R.drawable.icon_profile_image));
editText.setText("");
imageView.setImageResource(0);
언급URL : https://stackoverflow.com/questions/2859212/how-to-clear-an-imageview-in-android
'programing' 카테고리의 다른 글
| 잘못된 iPhone 응용 프로그램 이진 (0) | 2023.07.28 |
|---|---|
| UILabel - 문자열을 텍스트 및 링크로 사용 (0) | 2023.07.28 |
| RuntimeError "스칼라 유형 Float의 예상 개체이지만 인수에 대해 스칼라 유형 Double을 받았습니다"를 수정하는 방법은 무엇입니까? (0) | 2023.07.28 |
| 대규모 마이그레이션:두 번째 외래 키가 phpMyAdmin에서 보조 키로 생성되지 않음 (0) | 2023.07.28 |
| 어떻게 멍해요?히스토그램: 작업? (0) | 2023.07.28 |