ตั้งแต่ Android 4.3 (Jelly Bean) ตอนนี้เราสามารถใช้res/mipmap
โฟลเดอร์เพื่อเก็บภาพ "mipmap"
ตัวอย่างเช่นChrome สำหรับ Androidเก็บไอคอนไว้ในโฟลเดอร์เหล่านี้แทนที่จะเป็นres/drawable
โฟลเดอร์ปกติ
รูปภาพ mipmap เหล่านี้แตกต่างจากรูปภาพอื่น ๆ ที่คุ้นเคยได้อย่างไร
ฉันเห็นว่าในรายการของฉันเราใช้@mipmap/
qualifier แทน@drawable/
ซึ่งทำให้เหมาะสมกับชื่อโฟลเดอร์ทรัพยากร:
<activity
android:name=".MipmapDemp"
android:icon="@mipmap/ic_launcher" />
อ้างอิง:
Android 4.3 APIsเอกสารมีดังต่อไปนี้จะพูดว่า:
การใช้ mipmap เป็นแหล่งข้อมูลสำหรับบิตแมปหรือ drawable ของคุณเป็นวิธีที่ง่ายในการจัดเตรียมรูปภาพคุณภาพและขนาดรูปภาพต่าง ๆ ซึ่งมีประโยชน์อย่างยิ่งหากคุณคาดว่ารูปภาพของคุณจะถูกปรับสัดส่วนในระหว่างการเคลื่อนไหว
Android 4.2 (API ระดับ 17) เพิ่มการสนับสนุนสำหรับ mipmaps ในคลาส Bitmap - Android จะทำการแลกเปลี่ยนรูปภาพ mip ใน Bitmap ของคุณเมื่อคุณให้แหล่งข้อมูล mipmap และเปิดใช้งาน setHasMipMap () ตอนนี้ใน Android 4.3 คุณสามารถเปิดใช้งาน mipmaps สำหรับวัตถุ BitmapDrawable ได้เช่นกันโดยจัดเตรียมเนื้อหา mipmap และตั้งค่าแอตทริบิวต์ android: mipMap ในไฟล์ทรัพยากรบิตแมปหรือโดยการเรียก hasMipMap ()
ฉันไม่เห็นอะไรเลยที่นั่นช่วยให้ฉันเข้าใจ
ทรัพยากร Bitmap XMLมีandroid:mipMap
คุณสมบัติ:
บูลีน เปิดใช้งานหรือปิดใช้งานคำใบ้ mipmap ดูที่ setHasMipMap () สำหรับข้อมูลเพิ่มเติม ค่าเริ่มต้นเป็นเท็จ
สิ่งนี้ใช้ไม่ได้กับไอคอนตัวเรียกใช้งานเท่าที่ฉันเห็น
คำถามที่ได้รับการเลี้ยงดูใน Google Groups ( จุดประสงค์ของชื่อทรัพยากร "มิพแมพ" ?! ) ซึ่ง Romain ผู้ชายตอบว่า:
มีประโยชน์ในการจัดเตรียมรูปภาพที่ความละเอียดที่ใหญ่กว่าซึ่งโดยทั่วไปจะคำนวณ (ตัวอย่างเช่นบนอุปกรณ์ mdpi Launcher อาจต้องการไอคอน hdpi ที่ใหญ่กว่าเพื่อแสดงทางลัดแอปขนาดใหญ่)
ฉันรู้สึกเช่นนี้เกือบจะเข้าใจได้ แต่ไม่มาก
ฉันยังอยากไปกับการติดตามของ Randy Sugianto:
อะไรคือข้อดีของสิ่งนี้ มีคำแนะนำวิธีการใช้ mipmaps ซึ่งอาจเป็นไอคอนตัวเรียกใช้ที่ดีกว่าหรือไม่
แน่นอนว่าWikipedia มีหน้าสำหรับ "Mipmap"ซึ่งหมายถึงเทคนิคเก่าที่คิดค้นในปี 1983 ซึ่งฉันไม่สามารถเกี่ยวข้องกับการนำ Android ไปใช้ในปัจจุบันได้
เราควรจะเก็บไอคอนแอพres/mipmap
ของเราทั้งหมดในโฟลเดอร์วันนี้และแนวทางสำหรับภาพ mipmap เหล่านี้คืออะไร?
อัปเดต # 1
นี่คือบล็อกโพสต์ที่พยายามอธิบายเล็กน้อย
แต่ภาพที่ใช้ในการโพสต์บล็อกนั้นแสดงให้เห็นว่าไฟล์หนึ่งมีโลโก้มากมาย นี่ไม่ใช่สิ่งที่ฉันเห็นในโฟลเดอร์ mipmap ของ Chrome
mipmap-hdpi
โฟลเดอร์ของ Chrome มีสามภาพ หนึ่งคือโลโก้ Chrome ด้วยตัวเอง
น่าแปลกที่มันคือ 72x72 ไม่ใช่ 48x48 ซึ่งฉันคาดว่าจะเห็น
บางทีนั่นคือทั้งหมดที่มีอยู่ - เราแค่ต้องเก็บไอคอนที่ใหญ่กว่าไว้ในโฟลเดอร์ mipmap?
อัปเดต # 2
โพสต์บล็อกนักพัฒนา Android ของ 23/10/2557 ยืนยันความคิดในการใช้mipmap
โฟลเดอร์สำหรับไอคอนแอปพลิเคชันอีกครั้ง:
เมื่อพูดถึงความหนาแน่นของหน้าจอ Nexus 6 ผู้เขียนเขียน:
เป็นวิธีที่ดีที่สุดที่จะวางไอคอนแอพของคุณในโฟลเดอร์ mipmap- (ไม่ใช่โฟลเดอร์ drawable-) เพราะมันถูกใช้ที่ความละเอียดต่างจากความหนาแน่นปัจจุบันของอุปกรณ์ ตัวอย่างเช่นไอคอนแอป xxxhdpi สามารถใช้กับตัวเรียกใช้งานสำหรับอุปกรณ์ xxhdpi
อัปเดต # 3
โปรดทราบว่า Android Studio สร้างic_launcher.png
ไอคอนในmipmap...
โฟลเดอร์แทนที่จะเป็นdrawable...
โฟลเดอร์ที่ Eclipse ใช้เพื่อสร้างไอคอนเหล่านั้น