看板 AndroidDev 關於我們 聯絡資訊
※ 引述《asilzheng (囧)》之銘言: : ※ 引述《master0101 (master)》之銘言: : : 今天在測試drawable各種解析度時 : : 發現如果同一個icon 每次只放在ldpi mdpi hdpi xhdpi其中一個資料夾下 : : 在同一機器上看到的大小 會不一樣 : : 如果圖只放在xhdpi下面 : : 呈現出來的圖就只有原本圖的一半大小 : 先假設你的機器是 mdpi(160) 的 : 如果你將 120px x 120px 圖放在 xhdpi(320) 的資料夾內 : 表示你想要得到的圖大小應該是 60dp x 60dp : [ 根據 : http://developer.android.com/guide/practices/screens_support.html : px = dp * (dpi / 160) ] : 所以在機器上看到的就會是 60dp * (160 (機器的解析度) / 160) = 60px : 如果是在 dpi 為 240 的機器上看到的就會是 60dp * (240 / 160) = 90px : 在 dpi 為 120 的機器上看到就會是 60dp * (120 / 160) = 45px : 這樣做的好處是 對於兩台一樣螢幕一樣大但解析度不同的機器(dpi 不同) : 如果你只將圖片放在其中一個資料夾 : 那在這兩台機器上看到的圖片大小是相同的 也就是整體感觀不會變 : 大致上是這樣 補完一下好了,不談原理,原理請自行看網頁搞懂,我只說結論。 雖然你放在 mdpi 系統會自動幫你判別 所以大小是相同,但是圖片因為被強制拉大所以會是糊的。 正確做法是如果以有一張圖片預計要呈現的的大小是100 * 100px 能的話,同一張圖請做出四種尺寸 分別是 75 * 75px 放在 ldpi 100 * 100px 放在 mdpi 150 * 150px 放在 hdpi 200 * 200px 放在 xhdpi 但是考慮到這樣可能會導致App容量變大,所以我目前是只做mdpi和xhdpi 還有就是圖上面的字不要太小,能的話是最好不要有字。 這就跟iOS的圖片他會要求你要有 abc.png和[email protected] 是完全一樣的道理,3Gs是mdpi,4G / 4Gs是xhdpi : : 請問這是為什麼呢? : : 那如果是在大於320dpi的螢幕下顯示 不就也會縮小一半? : : 還是我有哪裡搞錯意思呢? : : 另外 : : 這4種尺寸是會依據機器的密度(dpi=解析度/螢幕實體吋數?)去自動選擇 : : 發現好像大部分都是會落在mdpi? : : 有dpi>320的機器嗎? : : 先謝謝大家了~ -- 抱最大的希望,為最大的努力,做最壞的打算。 嚴長壽 領最大的薪水,擁最大的權勢,做最壞的榜樣。 立法院 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 219.85.82.103