2011-02-10 3 views
7

Прежде всего, я хотел бы сослаться на это Issue на группы google.Zxing - Изменение вида камеры -90 градусов

Моя проблема заключается в том, что я хочу, чтобы приложение, ориентированное на ландшафт, работало в портретном режиме. Способ получения приложения в портретном режиме вообще не проблема, но когда вы показываете приложение в портретном режиме, возникает моя проблема.

Когда сканер штрих-кода запускает op, его вид камеры (по умолчанию) под углом +90 градусов. При просмотре приложения в портретном режиме сканер штрих-кода (естественно) все еще находится под углом +90 градусов.

На упомянутой странице проблемы отображается проблема, связанная с проблемой, но это не работает на большинстве устройств. Это также не работает на моих целевых устройствах.

Хотелось бы услышать, есть ли у кого-то из вас работа или найдено место в источнике, где вы можете «отменить» 90-градусный щелчок?

Полезный ответ будет предельно аппроксимирован: D К сожалению, я не могу добиться прогресса в проекте до того, как это будет разрешено. Он потребовал, чтобы работать в портретном режиме;)

Заранее ... Спасибо :)

ответ

4

Я реализовал это в частной сборки. Это сложно, и я не могу поделиться деталями. Основные шаги:

  • Вызов Camera.setDisplayOrientation() к противодействуют вращение; см. Android javadoc для обсуждения на этом
  • Убедитесь, что Camera.Parameters.setPreviewSize() вызывается правильно; размеры предварительного просмотра сообщаются в ландшафте, но их необходимо установить в портфолио
  • (И угадайте, что - стандартная ориентация телефонов считается портретом, но планшеты считаются ландшафтом!).
  • Наконец, данные предварительного просмотра всегда находятся в ландшафтном режиме. Вам нужно повернуть его самостоятельно, чтобы прочитать его с правой стороны, или иначе объяснить это.
+0

Цените информацию, Шон, и хотел бы получить более подробную информацию об общем :) Не могли бы вы высказать больше о пунктах 2 и 3, по умолчанию и фактическом, между телефонами и планшетами? –

+1

Просто не забудьте прочитать Camera.CameraInfo о камере, которую вы открыли. Это доступно только в Android 2.3+. Это поможет вам понять, какое направление «вверх» для камеры. И затем, поверните его, если вы используете переднюю камеру! это немного больно, чтобы все дела были правильными. –

+0

FWIW вы можете видеть, как это выглядит в действии в сканере штрих-кода + (https://market.android.com/details?id=com.srowen.bs.android). Это приложение для оплаты, хотя. –