在两台Android机器中,相同屏幕分辨率下不同的文本大小,但dpi不同
我有两台安卓电脑-三星Galaxy Tab和HTC Flyer。它们都有1024x600屏幕。然而,根据在两台Android机器中,相同屏幕分辨率下不同的文本大小,但dpi不同,android,dpi,screen-resolution,text-size,Android,Dpi,Screen Resolution,Text Size,我有两台安卓电脑-三星Galaxy Tab和HTC Flyer。它们都有1024x600屏幕。然而,根据Context.getResources().getDisplayMetrics()方法中的日志,Tab的屏幕显示为240dpi,而Flyer的屏幕显示为160dpi 我的问题是,我定义了一个TextView,根据那些Android文档,在不同的屏幕密度(dpi)下,使用dp的单位应该给出相同的物理大小。但我观察到的是,传单中显示的文本大小明显小于Tab中的文本大小,使用sp也没有运气。我希望
Context.getResources().getDisplayMetrics()
方法中的日志,Tab的屏幕显示为240dpi,而Flyer的屏幕显示为160dpi
我的问题是,我定义了一个TextView
,根据那些Android文档,在不同的屏幕密度(dpi)
下,使用dp
的单位应该给出相同的物理大小。但我观察到的是,传单中显示的文本大小明显小于Tab中的文本大小,使用sp
也没有运气。我希望它们的尺寸相同。一般来说,解决这个问题有什么线索吗
提前感谢。请尝试以下装置: 嗯 毫米-基于屏幕的物理尺寸 在 英寸-基于屏幕的物理大小
好吧,报告的数值显然是谎言。我想Galaxy标签是7英寸的型号。这意味着,根据报告的值,其显示高度约为4.2英寸(1024/240=4.2英寸),宽度约为2.5英寸。这意味着屏幕尺寸为4.2x2.5英寸,在这种情况下,对角线大约为4.9英寸。它是正确的-不,它不是,它有7英寸的显示器。测量屏幕的侧面,你会得到正确的密度。因此,即使使用Android进行缩放,结果也会因为错误的密度测量而出错 无论如何,问题的答案是: 不,没有办法画出同样大小的字体、图像等等。您需要习惯制造商提供的虚假指标。错误的密度读数会反映所有其他缩放。因此,即使mm/in也无济于事
还有一条建议——除非绝对必要,否则不要尝试在不同的产品之间匹配尺寸。如果你成功了,那么Galaxy选项卡上的文本将与设备上的其他文本不成比例,并使你的应用程序看起来不合适。坚持使用Android文本AppearanceSmall/Large等。有趣的是,我尝试了
ImageView.getMeasuredWidth()
来处理我的图像,在这些图像中,它们被放在所有可绘制文件夹(即可绘制hdpi、可绘制mdpi等)中,该方法返回相同的值,并且能够在两台机器中以相同的大小绘制它们。但是在执行TextView.getMeasuredWidth()
时没有运气,因此我想知道是否可以获得与ImageView
中相同的结果。缩放后,getMeasuredWidth将返回值。由于缩放本身是错误的,我想测得的宽度也会是错误的。谢谢,但是文本的大小在其他屏幕大小不同的机器上看起来可能是相同的,这是不可取的。