作者lovelycateye (我还想要更多力量)
看板AndroidDev
标题Re: [问题] 关於drawable问题
时间Wed Aug 1 20:37:16 2012
※ 引述《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