※ 引述《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