Recibo sólo pantalla en blanco mientras se utiliza svg-android

Propósito: Quiero mostrar un archivo de imagen SVG usando preferiblemente un ImageView.

Intento 1:

  • Estoy usando la biblioteca svg-android para hacer eso.

  • Estoy siguiendo su palabra tutorial palabra por palabra. Acabo de copiar pegado su código en mi onCreate, comentó mi código de la aplicación de onCreate.

    Tengo una pantalla de bienvenida antes de esto, pero dudo que interfiera con esto de todos modos. En cualquier caso, solo cambiaré la intención de lanzamiento y publicaré una actualización.

  • He añadido su jar en la carpeta de librerías y lo he hecho referencia.

Resultado 1:

Estoy probando en la galaxia I93000 de Samsung (versión internacional)

Todo lo que tengo es una pantalla blanca.

No hay errores de compilación o de tiempo de ejecución.

La salida de Logcat es la siguiente:

01-13 01:22:11.755: D/dalvikvm(24889): GC_FOR_ALLOC freed 52K, 7% free 12198K/12995K, paused 17ms, total 17ms 01-13 01:22:11.765: I/dalvikvm-heap(24889): Grow heap (frag case) to 17.000MB for 4642816-byte allocation 01-13 01:22:11.810: D/dalvikvm(24889): GC_CONCURRENT freed 1K, 5% free 16730K/17543K, paused 15ms+2ms, total 43ms 01-13 01:22:12.080: D/dalvikvm(24889): GC_FOR_ALLOC freed <1K, 5% free 16731K/17543K, paused 13ms, total 13ms 01-13 01:22:12.100: I/dalvikvm-heap(24889): Grow heap (frag case) to 21.928MB for 5168972-byte allocation 01-13 01:22:12.125: D/dalvikvm(24889): GC_CONCURRENT freed <1K, 4% free 21779K/22599K, paused 12ms+2ms, total 25ms 01-13 01:22:12.560: D/libEGL(24889): loaded /system/lib/egl/libEGL_mali.so 01-13 01:22:12.595: D/libEGL(24889): loaded /system/lib/egl/libGLESv1_CM_mali.so 01-13 01:22:12.600: D/libEGL(24889): loaded /system/lib/egl/libGLESv2_mali.so 01-13 01:22:12.605: D/(24889): Device driver API match 01-13 01:22:12.605: D/(24889): Device driver API version: 10 01-13 01:22:12.605: D/(24889): User space API version: 10 01-13 01:22:12.605: D/(24889): mali: REVISION=Linux-r2p4-02rel0 BUILD_DATE=Tue Oct 16 15:37:13 KST 2012 01-13 01:22:12.670: D/OpenGLRenderer(24889): Enabling debug mode 0 

Actualización 1:

He intentado hacer la actividad que muestra SVG gráfico como la actividad principal del manifiesto. No hay cambios en los resultados.

Actualización 2:

Tratando otra biblioteca / manera de hacer esto – ImageView con soporte SVG . Se publicará de nuevo con los resultados.

Actualización 3:

Sólo para que sepas, ya he echado un vistazo a la compatibilidad con SVG en Android . Las respuestas allí no proporcionan realmente una solución nativa. Una solución sería crear páginas html estáticas, una para cada svg, haciendo referencia a la biblioteca SVG js. Esto no parece mantenerse en absoluto. Yo sería esa persona que la gente maldiga cuando miran el código heredado.

Como usted podría haber adivinado el anterior juicio no funcionó muy bien.

Probablemente ya has encontrado una solución, pero para referencia futura:

Estoy probando en la galaxia I93000 de Samsung (versión internacional)

Todo lo que tengo es una pantalla blanca.

No hay errores de compilación o de tiempo de ejecución.

Es probable que tenga que desactivar la aceleración de hardware para el ImageView que está utilizando:

 imageView.setLayerType(View.LAYER_TYPE_SOFTWARE, null); 

Yo tenía este mismo problema con un tenedor de svg-android y sólo se debió a la aceleración de hardware.

Ok, después de una completa noche de insomnio, esto es lo que tengo. 🙂

Esperanza 1:

* TPSVG_Android_SVG_Library: * ( Esto es lo que usé, es decir, mi sello de aprobación ;))

Intenté la biblioteca de esta bendita persona. Trabajado como un encanto. Extiende su vista personalizada desde Vista para que tenga la mayoría de los parámetros básicos para el diseño. Tiene sólo un contribuyente. Soy levemente aversión a usarlo en material de producción, al menos en una base a largo plazo. Pero felicitaciones a su trabajo y muchas gracias ya que satisfizo mi necesidad inmediata.

El uso es bastante sencillo para este, cualquiera que lo describa más o menos.

  • Descargar el repo como un zip e importarlo en eclipse
  • Añadir como un proyecto de biblioteca en su proyecto (Propiedades del proyecto -> Android)
  • Utilícelo como así en onCreate:

    SVGView svgView = (SVGView) this.findViewById (R.id.svgImage); SVGParserRenderer image = new SVGParserRenderer (este, R.raw.anime); SvgView.setSVGRenderer (imagen, null); SvgView.setBackgroundColor (Color.WHITE);

  • He utilizado un FrameLayout para posicionar esto. Lotta prueba y error era necesario ya que no aparece en el editor WYSIWYG para Android. Puede reemplazar temporalmente esto con ImageView y tratar con el formato.

  • Cualquier parámetro utilizado en esta etiqueta que no pertenezca a la clase View generará errores de compilación

Problema: Todavía no he averiguado cómo cambiar los drawables (SVG) en esta vista durante el tiempo de ejecución. Si alguien se da cuenta de eso, gentilmente publique el procedimiento.

Esperanza 2:

Vectoroid:

Este parece prometedor. Tienen algunas aplicaciones basadas en vectores junto con la biblioteca. No pude entender cómo usar esto para cargar un SVG dibujable (parece que no es compatible aún). ¡Pero espera! Aquí en su blog dicen que han implementado el "SVG a drawable" y será liberar pronto. ¡Hurra!

  • La aplicación Android PhoneGap no clasifica el contenido de forma equivalente a la página de Chrome / navegador
  • ¿Hay problemas en la vista Web de Android para SVG? Nivel API 16 +
  • Utilizar un SVG como fondo dibujable en Android
  • Decodificar archivo de imagen SVG (codificado como base64) en java
  • El archivo SVG se ejecuta correctamente en Emulator pero da error en Real Device?
  • Renderización SVG con OpenGL (y OpenGL ES)
  • Teniendo problema en el dispositivo verdadero usando la imagen del vector en androide. SVG-android
  • Procesamiento de SVG bajo Java en Android y escritorio
  • Método Android con prioridad (paquete) visibilidad sobreestablecimiento (no debería funcionar, pero sí, ¿por qué?)
  • El selector de color para la imagen vectorial no funciona
  • Pros y contras de usar SVG para Android Juegos
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.