7

首先,我想参考google groups上的这个Issue 。

我的问题是我希望横向原生应用程序在纵向模式下工作。让应用程序进入纵向模式的方式完全没有问题,但是当您以纵向模式显示应用程序时,就会出现我的问题。

当条形码扫描仪开始运行时,它的相机视图(pr.默认)在 +90 度角。在纵向模式下查看应用程序时,条码扫描仪(自然)仍处于 +90 度角。

在引用的问题页面中,显示了解决问题的技巧,但这似乎不适用于大多数设备。这也不适用于我的目标设备。

我想知道你们中的一些人是否有解决方法,或者在源中找到可以“撤消” 90 度翻转的地方?

一个有用的答案将是最受重视的:D 不幸的是,在这个问题解决之前我无法在项目中取得进展。要求以纵向模式运行;)

提前...谢谢:)

4

1 回答 1

4

我已经在私人构建中实现了这一点。这很复杂,我不能分享细节。关键步骤是:

  • 呼叫Camera.setDisplayOrientation()抵消轮换;有关这方面的一些讨论,请参阅 Android javadoc
  • 确保Camera.Parameters.setPreviewSize()正确调用;预览尺寸以横向报告,但需要设置为纵向
  • (猜猜看——手机的默认方向被认为是纵向的,而平板电脑被认为是横向的!确保你也考虑到了这一点。)
  • 最后,预览数据始终处于横向模式。您需要自己旋转它以正面朝上阅读它,或者以其他方式说明这一点。
于 2011-09-23T11:48:21.037 回答