我在MDPI/HDPI/xhdpi中有相同的9個補丁圖像。是否有特定的原因,爲什麼它不能保存爲最小的尺寸?可伸縮區域在內容較大時自動縮放,例如背景爲9補丁。針對不同密度的不同9貼片圖像?
實例背景:
MDPI:
華電國際:
xhdpi:
我在MDPI/HDPI/xhdpi中有相同的9個補丁圖像。是否有特定的原因,爲什麼它不能保存爲最小的尺寸?可伸縮區域在內容較大時自動縮放,例如背景爲9補丁。針對不同密度的不同9貼片圖像?
實例背景:
MDPI:
華電國際:
xhdpi:
許多9個補丁是如此之小,他們通常並不需要重新創建不同的屏幕大小。
在你的例子中,背景的角落沒有縮放。如果您只是在所有分辨率上使用相同的角落,他們在不同的分辨率下會有不同的大小。在較小的手機上,角落會在較大的手機上看起來更大,角落會變小。
另一個例子是一條線。如果你有一條具有特殊效果的線,並且將它創建爲mdpi屏幕的九個補丁,並且該線的高度爲兩個像素。只需在xhdpi屏幕上重複使用此繪圖而不縮放,就可以使您的線條在此屏幕上高兩個像素。但是由於屏幕像素較小(分辨率較高,顯示屏尺寸相同),線條顯得更細。
因此,您總是需要爲每個分辨率創建一個9修補程序,或者@Shubhayu表示只生成高分辨率九個修補程序,並接受系統將其縮放爲其他分辨率時模糊。
你並不需要把不同大小的9補丁圖像中的所有3文件夾。只需將具有最高分辨率的那個放在您的可繪製文件夾中即可。 Android會爲您提供所有不同的密度。
此外,圖像的清晰度取決於圖像的分辨率。如果保存最小尺寸(即以最小分辨率),則會發生模糊拉伸,因爲高密度設備會出現模糊拉伸。如果背景圖像爲純色,則不會明顯。當背景具有某些設計/可重複的漸變時,您會注意到不同之處。
編輯:自從寫這篇文章以來,我發現了更多關於9-patch的更多內容。 9貼片圖像不縮小。最好的辦法是放置最小尺寸的圖像。根據它如何尋找其他密度,您應該爲受影響的密度製作9張補丁圖像。下面是關於它的詳細信息,
http://www.shubhayu.com/android/9-patch-image-designers-vs-developers
它將從最高密度調整圖像以匹配選定的密度,並且從其上調整大小的圖像將使用九種貼片機制來拉伸圖像。這將導致模糊的圖像,不建議。 – Janusz 2012-03-30 11:04:54
9補丁縮小?我認爲只能放大。 – user949884 2012-03-30 11:06:39
如果Android從mdpi手機的xhdpi文件夾中選取drawable,它將縮小圖像,無論它們是否爲9-patch。查看我的答案獲取更多信息。我也很難學習這個;) – Janusz 2012-03-30 11:15:31
現在瞭解。對比勒費爾德的問候:-) – user949884 2012-03-30 11:21:50
如果它解決了你的問題,你可以接受一個答案:) – Janusz 2012-03-30 12:01:55
是的,你是對的2像素高的例子。雖然我沒有看到圖像縮小的問題。有可能我沒有處理能夠顯示差異的圖像。感謝提示:)下次我會記住這一點。 – Shubhayu 2012-03-30 12:04:23