ImageView があります。onClick で Drawable を取得します。
Drawable dr = ((ImageView) v).getDrawable();
そして、それをダイアログの ImageView に設定します。
zoomedImage.setImageDrawable(dr);
しかし、ダイアログを閉じるかアクティビティが再開されると、元の位置にある画像が引き伸ばされ、サイズよりも大きく表示され、ImageView には画像の一部しか表示されなくなります。
これはディープ コピーの場合ですか、それとも別の問題がありますか? そうである場合、元の Drawable をディープ コピーして、コピーをズームされた画像に設定するにはどうすればよいですか?
前もって感謝します。
ベストアンサー1
ついに成功しました! 私も同様の問題を抱えていました。drawable にカラー フィルターを使用すると、drawable が変更されました。これは、ここにいる他の人の解決策に非常に近いですが、私にとってはこれだけが機能しました:
Drawable drwNewCopy = dr.getConstantState().newDrawable().mutate();