Tôi đã gặp sự cố với dải các tệp PNG của mình. Đào sâu vào vấn đề đã mang lại hai giải pháp. Cả hai đều có ý nghĩa riêng, nhưng cùng nhau thì không. Các giải pháp tôi đã phát hiện:Giải pháp dải băng PNG khó hiểu
1) Di chuyển tệp PNG vào thư mục "thô". Điều này ngăn AAPT khỏi "tối ưu hóa" hình ảnh dẫn đến dải.
2) Thay đổi định dạng pixel của cửa sổ Hoạt động thành RGBA_8888 (tức là trong onCreate thêm dòng này "getWindow(). SetFormat (PixelFormat.RGBA_8888)"). Trên Android 2.2 trở xuống, định dạng pixel mặc định là 16 bit (565).
Tôi đã thử cả hai cách này và chúng chỉnh sửa hiệu ứng dải trong hình ảnh của tôi, tuy nhiên bây giờ tôi thậm chí còn bối rối hơn với những gì Android đang làm.
Một mặt, nếu tôi để PNG của mình trong thư mục có thể kéo được, nó được "tối ưu hóa", kết quả là hiệu ứng dải trong hình ảnh. Nó biến mất một cách kỳ diệu khi tôi thay đổi định dạng pixel thành 32-bit. Nếu hình ảnh đã được "tối ưu hóa" mặc dù, tôi đã có thể mong đợi dải vẫn còn.
Mặt khác, nếu tôi di chuyển PNG sang thư mục thô, nó sẽ giữ lại độ dốc đẹp và hiển thị độc đáo ngay cả khi pixelFormat được cho là 16 bit.
Nếu có ai có bất kỳ thông tin chi tiết nào về những gì đang diễn ra, tôi sẽ đánh giá cao điều đó.
Cảm ơn,
-Dan
Ah, vì vậy thiết bị * có khả năng hiển thị màu 32 bit, nhưng Hoạt động được đặt thành chỉ sử dụng 16 bit trước 2.3 nếu tôi đọc phản hồi của bạn một cách chính xác. – Dan
Hầu như: "nhưng Hoạt động được đặt để sử dụng 16 bit làm mặc định trước 2.3". Nói "CHỈ" có nghĩa là không có khả năng quản lý cả hai bit 16 và 32 cùng một lúc nhưng thực tế là nó. – Yahel
Được rồi, cảm ơn phản hồi của bạn. Tôi nghĩ tôi đã hiểu rồi. – Dan