Pen*_*m10 256 resources android clear android-image android-imageview
我正在重复使用ImageView
s来显示我的显示器,但是在某些时候我没有值得把它放进去.
那么如何ImageView
在Android中清除?
我试过了:
mPhotoView.invalidate();
mPhotoView.setImageBitmap(null);
Run Code Online (Sandbox Code Playgroud)
他们都没有清除视图,它仍然显示以前的图像.
Mar*_*nci 511
我过去常常使用dennis.sheppard解决方案:
viewToUse.setImageResource(0);
Run Code Online (Sandbox Code Playgroud)
它的工作原理但它没有被记录,所以如果它在视图中影响了其他东西,它是不是真的很清楚(你可以检查ImageView代码,如果你喜欢,我没有).
我认为最好的解决方案是:
viewToUse.setImageResource(android.R.color.transparent);
Run Code Online (Sandbox Code Playgroud)
我最喜欢这个解决方案,因为在恢复状态时没有任何棘手的问题,而且它也清楚它正在做什么.
Kon*_*Kon 114
我遇到了类似的问题,我需要完全从屏幕上删除ImageViews.这里的一些答案让我朝着正确的方向前进,但最终调用setImageDrawable()为我工作:
imgView.setImageDrawable(null);
Run Code Online (Sandbox Code Playgroud)
(正如评论中所提到的,官方文档中记录了这种用法:ImageView#setImageDrawable.)
den*_*ard 79
我知道这已经过时了,但我能够做到这一点
viewToUse.setImageResource(0);
Run Code Online (Sandbox Code Playgroud)
似乎它不应该工作,但我一时兴起尝试,它完美地工作.
Dan*_*Lew 16
听起来你想要的是一个默认图像,将ImageView设置为不显示不同的图像.这是Contacts应用程序的功能:
if (photoId == 0) {
viewToUse.setImageResource(R.drawable.ic_contact_list_picture);
} else {
// ... here is where they set an actual image ...
}
Run Code Online (Sandbox Code Playgroud)
nan*_*dha 12
我试过这个来清除ImageView中的Image和DrawableCache
ImgView.setImageBitmap(null);
ImgView.destroyDrawingCache();
Run Code Online (Sandbox Code Playgroud)
我希望这对你有用!
如果这些解决方案都清理你已经设置的图像(尤其是setImageResource(0)
或setImageResources(android.R.color.transparent)
,检查以确保使用当前的图像不被设置为背景setBackgroundDrawable(...)
或类似的东西.
您的代码只会将前景中的图像资源设置为您已设置并仍将显示的背景图像前面的透明内容.
如果您使用滑翔,您可以这样做。
Glide.with(yourImageView).clear(yourImageView)
Run Code Online (Sandbox Code Playgroud)
嘿,我知道我对这个答案非常迟,但只是认为我必须分享这个,
重置图像时调用的方法必须与您在设置图像时调用的方法相同.
当你想要重置图像源@ dennis.sheepard只有在你最初使用位图设置图像时,答案才能正常工作setImageResource()
例如,
我用过setImageBitmap()
,因此设置setImageResource(0)
没有工作,而是我用过setImageBitmap(null)
.
归档时间: |
|
查看次数: |
207438 次 |
最近记录: |