廉价的Android 7英寸平板电脑(800x480):纵横比错误,圆形看起来像椭圆形。

5
我需要许多Android平板电脑来销售我的应用程序。我从互联网上购买了一些廉价的中国产品,但所有7英寸800x480的平板电脑都显示圆圈而不是省略号(正方形变成了矩形),一切都被拉伸了...
有些是Android 2.3.3,其他是Android 4.0,但它们都显示为拉伸的用户界面。
是否有人遇到过相同的问题?

只限于您的应用程序还是也适用于系统应用程序? - ՕլՁՅԿ
所有的Android用户界面看起来都被拉伸了,不仅仅是我的应用程序。 - Seraphim's
2个回答

3
在对sysconfig1.lhs进行了一些更改后,我得出结论认为没有解决方案。我所做的测试是在Allwinner A10平板电脑上进行的,具体是运行Android 4.0.4的M703型号。请注意,有许多设备具有相同(或类似)的硬件配置但不同的名称。
我深入研究了包含以下行的系统镜像中的sysconfig1.lhs:
lcd_x = 800
lcd_y = 480

对应的触摸屏数值为:

ctp_screen_max_x = 800
ctp_screen_max_y = 480

我测量了屏幕,发现它的尺寸与Seraphim的测量结果相同:155×86mm。在此基础上,我尝试将这些值更改为864×480或800×444。
不幸的是,这两个选项都没有解决问题。
864×480只是剪裁了显示器的64个像素部分。
800×444会导致SystemUI崩溃(因为它不再符合sw480dp,因此设备被视为手机),并留下了36像素的间隙。
也许需要在其他地方设置屏幕分辨率,但我认为这可能是硬件配置错误。
在sysconfig1.lhs中还有许多对我毫无意义的其他行。
lcd_dclk_freq            = 33
lcd_if                   = 0
lcd_hbp                  = 46
lcd_ht                   = 1055
lcd_vbp                  = 23
lcd_vt                   = 1050

也许有一些改变像素比例的方法,但我还没有尝试过。

似乎是Allwinner A10 M703来自中国的常见问题...我尝试了几个廉价平板电脑,它们都有错误的纵横比。无论如何,感谢您的帖子。 - Seraphim's

2

他们可能是以下两种情况之一:

  1. 屏幕物理尺寸与分辨率宽高比不匹配。请问屏幕的物理尺寸(宽和高)是多少?
  2. 存在非正方形物理像素

如果是以上任意一种情况,除非您进行了一些严格的黑客攻击并更改分辨率,否则无法做太多事情。我很抱歉,您所得到的就是您所支付的。


嗨Pulsar,感谢您的评论。我认为问题在于像素宽高比。我还认为中国最便宜的产品使用的低成本显示器不适合用于好看的显示。无论如何,DisplayMetrics是{density = 1.0,width = 480,height = 800,scaleDensity = 1.0,mxdpi = 160.0,ydpi = 160.42105}。 - Seraphim's
如果像素为正方形,则屏幕的16:9物理宽高比实际分辨率可能是正确的,但未设置正确。这取决于所使用的面板和图形芯片是否支持这些分辨率。如果分辨率为Full WVGA 854x480(16:9),则与物理显示器匹配。800x480是5:3(WVGA)。 - Mattias Isegran Bergander
1
制造商或者如果您使用自定义ROM,我想可以在显示度量方面进行补偿。 - Mattias Isegran Bergander
@Mattias,我已经拿到了ROM并可以将其刷入设备。你能否稍微解释一下显示度量是如何指定的?构建中的sysconfig1.lhs文件包含了ctp_screen_max_xctp_screen_max_y的测量值,但更改它们只会偏移触摸事件(“ctp”似乎缩写为“电容式触摸屏”)。 - Paul Lammertsma
@Mattias 我进行了几次测试,并回答了问题。 - Paul Lammertsma
显示剩余2条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接