Kể từ Android 4.3 (Jelly Bean), giờ đây chúng ta có thể sử dụng các res/mipmap
thư mục để lưu trữ hình ảnh "mipmap".
Ví dụ: Chrome cho Android lưu trữ các biểu tượng của nó trong các thư mục này thay vì các res/drawable
thư mục bình thường hơn .
Những hình ảnh mipmap này khác với những hình ảnh có thể vẽ quen thuộc khác như thế nào?
Tôi thấy rằng trong bảng kê khai của mình, chúng tôi sử dụng @mipmap/
vòng loại, thay vì @drawable/
, có nghĩa là được đặt tên thư mục tài nguyên:
<activity
android:name=".MipmapDemp"
android:icon="@mipmap/ic_launcher" />
Người giới thiệu:
Các Android 4.3 API tài liệu có những điều sau đây để nói:
Sử dụng mipmap làm nguồn cho bitmap hoặc drawable của bạn là một cách đơn giản để cung cấp hình ảnh chất lượng và các tỷ lệ hình ảnh khác nhau, có thể đặc biệt hữu ích nếu bạn mong muốn hình ảnh của mình được thu nhỏ trong khi hoạt hình.
Android 4.2 (API cấp 17) đã thêm hỗ trợ cho mipmap trong lớp Bitmap Android Android hoán đổi hình ảnh mip trong Bitmap của bạn khi bạn đã cung cấp nguồn mipmap và đã bật setHasMipMap (). Giờ đây trong Android 4.3, bạn cũng có thể bật mipmap cho một đối tượng BitmapDrawable, bằng cách cung cấp tài sản mipmap và đặt thuộc tính android: mipMap trong tệp tài nguyên bitmap hoặc bằng cách gọi hasMipMap ().
Tôi không thấy bất cứ điều gì trong đó giúp tôi hiểu.
Tài nguyên Bitmap XML có một thuộc android:mipMap
tính:
Boolean. Cho phép hoặc vô hiệu hóa gợi ý mipmap. Xem setHasMipMap () để biết thêm thông tin. Giá trị mặc định là sai.
Điều này không áp dụng cho các biểu tượng launcher như xa như tôi có thể thấy.
Câu hỏi được đặt ra trên Google Groups ( Mục đích của tên tài nguyên "mipmap"?! ), Mà Romain Guy đã trả lời:
Thật hữu ích khi cung cấp hình ảnh ở độ phân giải lớn hơn thường được tính toán (ví dụ: trên thiết bị mdpi, Trình khởi chạy có thể muốn biểu tượng hdpi lớn hơn hiển thị các phím tắt ứng dụng lớn.)
Tôi cảm thấy như điều này gần như có ý nghĩa của nó, nhưng không hoàn toàn.
Tôi vẫn có xu hướng theo dõi Randy Sugianto:
Những lợi thế của điều này là gì? Có hướng dẫn nào về cách sử dụng mipmap, có thể cho các biểu tượng launcher tốt hơn không?
Tất nhiên, Wikipedia có một trang cho "Mipmap" , đề cập đến một kỹ thuật cũ hơn được phát minh vào năm 1983, mà tôi hoàn toàn không liên quan đến việc triển khai Android hiện tại.
Chúng ta có nên lưu trữ tất cả các biểu tượng ứng dụng của mình trong res/mipmap
các thư mục ngày nay không, và hướng dẫn cho những hình ảnh mipmap này là gì?
Cập nhật số 1
Đây là một bài viết trên blog cố gắng giải thích nó một chút.
Nhưng hình ảnh được sử dụng trong bài đăng trên blog đó cho thấy những gì trông giống như một tệp có nhiều logo trong đó. Đây không phải là những gì tôi thấy trong thư mục mipmap của Chrome.
mipmap-hdpi
Thư mục của Chrome chứa ba hình ảnh. Một là logo Chrome, trên chính nó.
Kỳ lạ thay, nó là 72x72, không phải 48x48 mà tôi mong đợi được thấy.
Có lẽ đó là tất cả để làm điều này - chúng ta chỉ cần giữ các biểu tượng lớn hơn trong các thư mục mipmap?
Cập nhật số 2
Bài đăng trên Blog dành cho nhà phát triển Android ngày 23/10/2014 một lần nữa xác nhận ý tưởng sử dụng các mipmap
thư mục cho các biểu tượng ứng dụng:
Khi nói về mật độ màn hình Nexus 6, tác giả viết:
Cách tốt nhất là đặt các biểu tượng ứng dụng của bạn trong các thư mục mipmap- (không phải các thư mục có thể vẽ được) vì chúng được sử dụng ở độ phân giải khác với mật độ hiện tại của thiết bị. Ví dụ: biểu tượng ứng dụng xxxhdpi có thể được sử dụng trên trình khởi chạy cho thiết bị xxhdpi.
Cập nhật số 3
Lưu ý rằng Android Studio tạo các ic_launcher.png
biểu tượng trong các mipmap...
thư mục thay vì các drawable...
thư mục mà Eclipse đã sử dụng để tạo chúng trong đó.