android - vectores - Nueve parches versus gráficos vectoriales
vector drawable android (5)
Estoy aprendiendo acerca de la IU de Android y no tengo claro por qué las personas usan nueve parches, cuando se pueden usar gráficos vectoriales, porque son escalables sin degradación de píxeles. Soy un principiante en Android, así que espero no perderme nada aquí, pero parece que sería más fácil construir gráficos vectoriales y usarlos. No necesitarías el editor especial para construirlos.
¿Alguien puede explicar las ventajas de usar nueve parches sobre el vector? (No solo explique las ventajas del parche de nueve, como ya se hizo en StackO., Sino más bien las ventajas que el vector no tiene). Porque parece que Android recomienda nueve parches. Gracias.
En los gráficos vectoriales, todos los lados se escalan o estiran cuando lo configuramos en cualquier fondo, mientras que en 9-patch podemos definir qué lados pueden escalar o estirar, así que en tiempo de ejecución solo las escalas laterales que configuramos para escalar en la herramienta de 9 parches.
a partir de esto -> La ventaja de utilizar imágenes de 9 parches es que, al utilizarlo como fondo, por ejemplo, la imagen no se estirará y perderá proporciones en diferentes tamaños de pantalla. el ''parche'' central permanecerá como está y los parches ''bordes'' se estirarán para ajustarse al tamaño de pantalla / vista.
digamos que tienes esta imagen.
y un botón con ancho de padre de relleno. si configura esta imagen para el fondo del botón, se escalará por completo y la imagen se volverá borrosa (significa que se ampliará al ancho del botón) y no se verá bien. Entonces, ¿qué herramienta de 9 pasos hace que defina esa escala en línea? Alguna parte de la imagen digamos si el ancho es fill parent. no escale toda la imagen digamos que establecemos eso después de t (en imagen). escale toda el área, para que t no quede borroso. así que esto hará que tu botón sea bueno. Espero que tengas mi punto ... :)
después de hacer su parche de imagen 9 y ajuste al fondo del botón. su botón se ve así
en lugar de t (en imagen). toda el área se expande y llena el ancho de los botones.
Imagina un botón con esquinas redondeadas. ¿Cómo lo escalas? Si lo escalas horizontalmente, tendrás esquinas elípticas, lo que sería feo.
Esto es para lo que es el 9-parche.
La representación de 9 parches es fácil de implementar y eficiente. Si tiene una imagen que se puede escalar estirando líneas horizontales o verticales (por ejemplo, botones o iconos rectangulares), utilice un parche de 9. Si tiene algunos iconos que no se escalan bien, cree varias versiones con diferentes resoluciones y use la administración de recursos de Android para manejarlo. Ambos enfoques son mucho más fáciles y eficientes que los gráficos vectoriales.
Si tiene imágenes grandes o escenas para renderizar, y no quiere ocupar mucho espacio con bitmaps, eso es cuando comienza a pensar en gráficos vectoriales.
Puede definir contenido en una imagen de 9 parches, lo que significa que (por ejemplo) el texto siempre se colocará en esa área específica, creo que no puede hacer esto en Vector image. Android tiene soporte integrado para 9-path pero para los vectores debes usar una biblioteca.
odio 9 parches soy bastante atento al hacer mi obra de arte. Ni siquiera uso Photoshop. voy con el ilustrador. Hago todo bien cuando exporto mi obra de arte, solía hacer mis 9 parches con un acercamiento insensato, tal vez compruebe si en el photoshop hay píxeles fuera de lugar ... ** trompeta triste ** cuando se coloca en una vista, si utilicé alguna sutil esquinas redondeadas como 6px o 10px y un trazo todo se ve horrible en mdpi.
Así que resolví mis problemas casándome con los dos. Escribí mi propio 9patch que usa vectores. :)
Todo parece haber sido tocado por el bebé Jesús. Esquinas perfectas, trazos y, lo mejor de todo, puede usar un recurso para todos los tamaños de pantalla, densidades y, por supuesto, no más fronteras transparentes, errores malvados porque 9patch no se estirará hacia adentro, y así sucesivamente.
Yo uso vectores para iconos también. Aunque a veces hay problemas con varios efectos, estos son mínimos y se evitan fácilmente si lees algo sobre cómo evitarlos.
¡Mucha suerte a todos ustedes!
Este es un ejemplo muy básico.
Puedes hacer lo que te apetezca. Debido al impacto en el rendimiento de svg''s en una aplicación, cuando se ejecuta por primera vez [o cuando el usuario cambia las opciones de apariencia, me gusta guardar los mapas de bits recién generados como pngs, si es posible.
No obtienes más "lo mejor de ambos mundos" que esto.