Deep copy of a Drawable(Drawable 的深拷贝)
问题描述
我有一个 ImageView.在它的 onClick 中,我得到了它的 Drawable:
I have an ImageView. In its onClick I get its Drawable:
Drawable dr = ((ImageView) v).getDrawable();
并将其设置为对话框的 ImageView:
And set it to a dialog's ImageView:
zoomedImage.setImageDrawable(dr);
但是当我关闭对话框或恢复活动时.原始位置的图像被拉伸并显示大于其大小,导致在 ImageView 中只有一部分图像可见.
But when I close the dialog or the activity is resumed. The image at the original position gets stretched and is shown larger than its size, leading to only a portion of the image is visible in the ImageView.
这是深拷贝的情况还是有其他问题?如果是,我该如何深度复制原始 Drawable 以便我可以将副本设置为缩放图像?
Is this a case of deep copy or there is another problem? If it is, how can do I deep copy the original Drawable so that I could set the copy to zoomed image?
提前致谢.
推荐答案
我终于成功了!我有类似的问题,当我在我的drawable上使用滤色器时,它改变了drawable,它非常接近这里其他人的解决方案,但只有这对我有用:
Finally I succeed! I had similar problem, when I used color filter on my drawable it changed the drawable, its very close to the solution of the other people here, but only this worked for me:
Drawable drwNewCopy = dr.getConstantState().newDrawable().mutate();
这篇关于Drawable 的深拷贝的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:Drawable 的深拷贝
基础教程推荐
- 如何在 iPhone 上显示来自 API 的 HTML 文本? 2022-01-01
- Android:对话框关闭而不调用关闭 2022-01-01
- 如何让对象对 Cocos2D 中的触摸做出反应? 2022-01-01
- 当从同一个组件调用时,两个 IBAction 触发的顺序是什么? 2022-01-01
- 如何在 UIImageView 中异步加载图像? 2022-01-01
- 在 gmail 中为 ios 应用程序检索朋友的朋友 2022-01-01
- 如何在没有IB的情况下将2个按钮添加到右侧的UINavigationbar? 2022-01-01
- android 应用程序已发布,但在 google play 中找不到 2022-01-01
- Kivy Buildozer 无法构建 apk,命令失败:./distribute.sh -m “kivy"d 2022-01-01
- UIWebView 委托方法 shouldStartLoadWithRequest:在 WKWebView 中等效? 2022-01-01