我已经开始使用Adobe Photoshop为我的Android应用程序制作图形了.但是我无法继续,因为Photoshop中的分辨率设置为每英寸像素,正如官方Google文档所说,Android将需要以dpi设置的图像.我在网上搜索了两者之间的转换,但从未以任何正确的公式结束.
我知道Android文档将关系描述为px = dp*dpi/160
.但我的问题是,如果我知道dpi在哪里可以获得在此计算中使用的dp的值?或者是否有关于dp值的假设?我很迷惑.
Mic*_*len 37
Dp是密度独立像素,用于概括屏幕所具有的像素数.这些是来自http://developer.android.com/guide/practices/screens_support.html的通用数字
屏幕的广义Dpi值:
因此,您的资源的广义大小(假设它们是全屏):
编辑 - 添加xhdpi,因为它们变得越来越流行
这些值应适用于大多数xhdpi屏幕,如电视和Nexus 4,包括Nexus 10(假设他们没有创建一个新的类别,因为它是25k x 16k,不知道因为我还没有手上一个).
/编辑
如果使用这些尺寸,您的图像在任何屏幕上都会显得很棒.请务必在dp中定义代码中的大小,但Android会自行处理上述转换.
小智 5
我不同意迈克尔·艾伦的答案,因为ldpi,mdpi,hdpi和xdpi的结果分辨率不满足"替代抽屉"中谷歌文档中提到的替代位图的3:4:6:8缩放比例
http://developer.android.com/guide/practices/screens_support.html#testing
因此,我建议您采用最小大小为的基线示例
470 x 320 dp现在使用相同文档中的公式我们计算基线屏幕尺寸的全屏分辨率
px = dp*(dpi/160); 对于基线px = dp*(160/160)= dp*1所以px = dp.这意味着我们的基线配置的全屏大小.以像素为单位
470 X 320像素(mdpi)
现在要遵循ldpi,hdpi和xhdpi的替代drawables尺寸的3:4:6:8缩放比例,我们需要从mdpi中导出单位值.即
470/4 = 117.5
320/4 = 80
除以4,因为mdpi的缩放比为4,ldpi,hdpi和xhdpi的缩放比分别为3,6和8.现在只需将单位结果117.5和80乘以这些比例因子
LDPI
117.5*3 = 352.5
80*3 = 240
MDPI
117.5*4 = 470
80*4 = 320
华电国际
117.5*6 = 705
80*6 = 480
xhdpi
117.5*8 = 940
80*8 = 640
这些尺寸现在具有完美的3:4:6:8比例.
归档时间: |
|
查看次数: |
31389 次 |
最近记录: |