我有一个 ImageView。在它的 onClick 中我得到了它的 Drawable:
Drawable dr = ((ImageView) v).getDrawable();
并将其设置为对话框的 ImageView:
zoomedImage.setImageDrawable(dr);
但是当我关闭对话框或 Activity 恢复时。原始位置的图像被拉伸(stretch)并显示得大于其大小,导致 ImageView 中仅可见图像的一部分。
这是深复制的情况还是有其他问题? 如果是,如何深度复制原始 Drawable 以便将副本设置为缩放图像?
提前致谢。
最佳答案
我终于成功了! 我遇到了类似的问题,当我在可绘制对象上使用滤色器时,它改变了可绘制对象,它与这里其他人的解决方案非常接近,但只有这个对我有用:
Drawable drwNewCopy = dr.getConstantState().newDrawable().mutate();
关于android - Drawable 的深拷贝,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57875746/