2009-12-17 29 views
3

我想了解res/drawables图像应该如何与不同的屏幕密度一起工作。现在我有一个1.5应用程序,例如我有一个100x100像素的图像。在Droid上使用时,它会缩放此图像,使其在该设备上显示的尺寸相对相同(所有其他版式缩放均由我自己使用缩放单元处理)。不知道如何使用不同密度的图像1.6 +

所以现在我需要更新我的项目,并添加三个文件夹,右边?:

  1. 绘制,LDPI
  2. 绘制,MDPI
  3. 绘制,华电国际

所以我m将把我的100x100图像放在-mdpi文件夹中。如果我想为-hdpi文件夹创建一个版本,我怎么知道它可以扩展多少?我的意思是它看起来像默认它应该是1.5倍大。但是,如果我将其增大2.0倍,或者我正在运行的设备的密度不会达到基线G1的1.5倍,会发生什么情况?我的布局不会在这些设备上看起来不同吗?

谢谢

回答

1

你永远不能确定覆盖所有可能的屏幕尺寸。但是,如果您的布局自动排列项目,则可以使用px设置绝对图像大小,而不是倾斜。

也许你还想用(小/普通/大)而不是(ldpi/mdpi/hdpi),因为前者是指屏幕大小而不是密度。 Resource directory qualifiers

1

该行为还取决于您的清单声明的内容,特别是清单中的标记(您可以在ADT的清单编辑器的第一个标签中使用“清单附加项”对其进行配置)。

11

ldpi,mdpi和hdpi对应于密度“类”,而不是设备的实际密度。

例如,G1是一个mdpi类设备(160dpi),但其屏幕密度实际上大约为180dpi。该机器人是一个hdpi类设备(240dpi),但它的屏幕是265dpi。

位图缩放仅基于密度等级。实际屏幕密度被忽略。

因此,G1会显示比真实160dpi屏幕的mdpi设备略小的mdpi位图,但这是一个非常小的差异,所以它没有什么大不了的。

(请注意,其他尺寸类型,如“中”和“毫米”,也考虑到屏幕密度。)

所以对于密度你有3种选择:LDPI(120),MDPI(160 )和hdpi(240)。因此,您的100x100位图应分别为75x75,100x100和150x150。

欲了解更多信息,请参阅:http://developer.android.com/guide/practices/screens_support.html#qualifiers