Tôi có một ImageView. Trong onClick của nó tôi nhận được drawable của nó:Bản sao sâu của bản vẽ
Drawable dr = ((ImageView) v).getDrawable();
Và đặt nó vào ImageView một hộp thoại:
zoomedImage.setImageDrawable(dr);
Nhưng khi tôi đóng hộp thoại hoặc các hoạt động thi đấu trở lại. Hình ảnh ở vị trí ban đầu được kéo dài và được hiển thị lớn hơn kích thước của nó, dẫn đến chỉ một phần của hình ảnh hiển thị trong ImageView.
Đây có phải là trường hợp bản sao sâu hoặc có vấn đề khác không? Nếu có, làm cách nào để tôi có thể sao chép sâu Bản vẽ gốc để tôi có thể đặt bản sao để thu phóng hình ảnh?
Xin cảm ơn trước.
làm việc này cho tôi .. – Neela
CUỐI CÙNG! Đây là giải pháp để tạo ra một bản sao tự trị của một drawable. Để biến đổi() các drawable ban đầu không phải là một giải pháp tốt, nó không phải luôn luôn làm việc. Tạo bản sao mới từ bộ nhớ cache của đối tượng có thể vẽ (tức là getContantState()) hoạt động. Nhận xét này FYI cho những người khác đã dành hàng giờ đồng hồ trên api chưa trưởng thành/nonfinished này. – carl