处理不同的密度和相同的分辨率

时间:2012-04-08 21:33:48

标签: android

我已经在2台设备上测试了我的应用程序:

HTC HD2(480x800,密度= 192)

HTC Sensation XL(480x800,密度= 240)

当我在HD2上启动应用程序时,一切看起来都不错,但在查看Sensation时,这是一个悲剧。

ImageButtons,TextViews,ImageViews,一切都变得非常非常大......

HD2和Sensation都是Android系统的“normal-hdpi”,没注意差异大约是50像素。它使用位于“res / layout-normal-hdpi”文件夹中的xml文件进行两次测试。

所以问题是,如何处理这个问题?如何让它看起来很好看?

感谢。

1 个答案:

答案 0 :(得分:1)

Sensation XL应该是大型hdpi,其4.7英寸屏幕,而HD2则处于风口浪尖。它应该比HD2多几个dp,如果没有,故障在于你的Sensation上开发了ROM图像的人。根据我之前用Python编写的dpi计算器,HD2的dpi为216,而Sensation的dpi为198 - 这可能是正常的,因为你的DPI设置得太高,所以它认为屏幕较小,在这种情况下,除非您手动更改了dpi,否则几乎可以肯定是ROM问题。

考虑到这一点,用dp定义大小可能是一个解决方案 - dp在任何屏幕上都应该是相同的大小。对于TextView,使用sp设置文本大小。如果手机的大小在ROM映像中正确设置,这将解决您遇到的缩放问题。