簡體   English   中英

如何在Android中使用9種補丁圖像以不同的2密度(如mdpi,ldpi,hdpi)?

[英]How to use 9 patch images in android for different-2 densities(like mdpi,ldpi,hdpi).?

我正在創建一個想要多屏支持的android應用程序。為此,我使用了9個補丁圖像。

但是我的問題是,使用9個斑塊圖像是否足以滿足不同2密度設備的需要,或者我需要針對不同的密度(例如mdpi,ldpi,hdpi)創建不同2個9個斑塊圖像。

提前致謝

我最近發現自己處在同樣的情況下,所以讓我投身並擴展已經說過的話...

是的,9色塊圖像可以縮放,這就是它們存在的目的。 但是,如果您為所有屏幕密度都使用9色塊圖像,那實際上取決於圖像。 9色塊圖像更常用,例如按鈕。 您可以在應用程序中使用不同大小的按鈕,並且無論您如何調整按鈕大小(只要正確創建了9個補丁的圖像),一個9個補丁的圖像都將有助於處理它們。

但是,假設您的按鈕設計在hdpi版本中確實有一些圓角。 創建9補丁圖像時不會弄亂角落,但是在ldpi版本中查看它時,您會發現角落對於那種低分辨率來說太大了。 在這種情況下,您需要一個圓角較少的9色塊圖像,在該分辨率下看起來更好。

因此,最終的答案是,這實際上取決於您的圖像。 如果您可以創建一個9補丁圖像,在所有密度下看起來都不錯,那就好用了,因為您只需要一個圖像即可處理所有密度。 但是,如果由於拐角,漸變或其他原因導致效果不好,則每個屏幕密度都需要一張9色塊的圖像。

希望現在更加清楚。

來自文檔: 九個補丁

NinePatchDrawable圖形是可拉伸的位圖圖像,Android會自動調整其大小以適應將其放置為背景的View的內容。 NinePatch的一個示例用法是標准Android按鈕使用的背景-按鈕必須拉伸以容納各種長度的字符串。 NinePatch可繪制對象是標准的PNG圖像,其中包括一個額外的1像素寬的邊框。 它必須以擴展名.9.png保存,並保存到項目的res / drawable /目錄中。

答案是不。 您的九個補丁將在不同的屏幕尺寸之間縮放

簡短的回答是。 檢查一下:

默認情況下,Android會縮放位圖可繪制對象( .png.jpg.gif文件)和Nine-Patch可繪制對象( .9.png文件),以便它們在每個設備上以適當的物理尺寸呈現。 例如,如果您的應用程序僅為基線,中等屏幕密度(mdpi)提供位圖可繪制對象,則系統在高密度屏幕上會按比例放大它們,而在低密度屏幕上會按比例縮小它們。 這種縮放可能會在位圖中導致偽影。 為了確保位圖看起來最好,您應包括不同分辨率的替代版本,以適應不同的屏幕密度。

來自Android開發者官方文檔

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM