2011-02-10 22 views
7

Antes que nada, me gustaría referirme a este Issue en los grupos de google.Zxing - Cambio de la vista de la cámara -90 grados

Mi problema es que quiero que la aplicación nativa del paisaje funcione en modo vertical. La forma de poner la aplicación en modo retrato no es un problema en absoluto, pero cuando se muestra la aplicación en modo retrato, ocurre mi problema.

Cuando el escáner de código de barras se inicia en modo operativo, su vista de cámara es (por defecto) en un ángulo de +90 grados. Al ver la aplicación en modo retrato, el escáner de código de barras está (naturalmente) aún en un ángulo de +90 grados.

En la página de Issue referida se muestra un truco para solucionar el problema, pero parece que esto no funciona en la mayoría de los dispositivos. Esto tampoco funciona en mis dispositivos específicos.

Me gustaría saber si algunos de ustedes han tenido un trabajo de alrededor, o han encontrado el lugar en la fuente donde pueden 'deshacer' el giro de 90 grados?

Se aplicará al máximo una respuesta utilizable: D Lamentablemente, no puedo avanzar en el proyecto antes de que esto se resuelva. Se exige para funcionar en modo vertical;)

De antemano ... Gracias :)

Respuesta

4

me han implementado esto en una acumulación privada. Es complicado y no puedo compartir los detalles. Los pasos clave son:

  • llamada Camera.setDisplayOrientation()-contrarrestar la rotación; consulte el javadoc de Android para obtener más información sobre eso
  • Asegúrese de que se llama correctamente al Camera.Parameters.setPreviewSize(); los tamaños de vista previa se informan en el paisaje, pero deben configurarse en el retrato
  • (Y adivinen qué: la orientación predeterminada de los teléfonos se considera retrato, pero las tabletas se consideran paisajes. Asegúrese de haberlo explicado también)
  • Finalmente, los datos de vista previa siempre están en modo horizontal. Necesita rotarlo usted mismo para leerlo con el lado derecho hacia arriba, o de lo contrario dar cuenta de eso.
+0

Aprecie la información, Sean, y quisiera que se compartan aún más detalles :) ¿Podría comentar más sobre los puntos 2 y 3, predeterminados y reales, entre teléfonos y tabletas? –

+1

Solo asegúrese de leer Camera.CameraInfo sobre la cámara que ha abierto. Esto solo está disponible en Android 2.3+. Te ayudará a entender qué dirección está "arriba" para la cámara. Y luego, ¡dale la vuelta si estás usando la cámara frontal! es un poco alucinante obtener todos los casos correctos. –

+0

FWIW puede ver cómo funciona esto en Barcode Scanner + (https://market.android.com/details?id=com.srowen.bs.android). Sin embargo, es una aplicación de pago. –

Cuestiones relacionadas