两台Android机器在相同屏幕分辨率下但不同dpi的不同文本大小

时间:2011-06-13 09:33:52

标签: android dpi screen-resolution text-size

我有两台Android机器 - 三星Galaxy Tab和HTC Flyer。它们都有1024x600的屏幕。但是,根据Context.getResources().getDisplayMetrics()方法的日志,Tab具有240dpi屏幕,而Flyer具有160dpi。

我的问题在于,我定义了TextView,根据这些Android文档,使用dp的单位应该在不同的screen density(dpi)下提供相同的物理尺寸。但我观察到的是,Flyer中显示的文本大小明显小于Tab中的文本大小,使用sp也没有运气。我希望它们的大小相同。解决这个问题的任何线索一般吗?

提前致谢。

2 个答案:

答案 0 :(得分:1)

嗯,报道的价值显然是谎言。我想Galaxy Tab是7in型号。这意味着,根据报告的值,它的显示高度约为4.2(1024/240 = 4.2in),宽度约为2.5in。这意味着屏幕尺寸为4.2x2.5英寸 - 在这种情况下,对角线将约为4.9英寸。这是正确的 - 不,不是,它有7英寸显示。测量屏幕的两侧,您将获得正确的密度。因此,即使按Android进行缩放,由于虚假密度测量,结果也会出错。

无论如何,问题的答案是:

不,无法绘制相同大小的字体,图像等等。您需要习惯制造商的错误指标。虚假密度读数反映所有其他缩放。因此,即使mm / in也无济于事。

并建议 - 除非绝对必要,否则不要尝试匹配不同产品之间的尺寸。如果你成功了,那么Galaxy Tab上的文字对于设备上的其他文字看起来会不成比例,并会让你的应用看起来不合适。坚持Android textAppearanceSmall / Large等

答案 1 :(得分:0)

请尝试以下单位:

  

毫米

     

毫米 - 基于屏幕的物理尺寸。

     

     

英寸 - 基于屏幕的物理尺寸。

http://developer.android.com/guide/topics/resources/more-resources.html

相关问题