Generalidades

Sugerencia rápida: cargar imágenes de cualquier relación de aspecto de la manera correcta (Android|iOS) | Por Asheesh Sharma | Abril de 2022

Sugerencia rapida cargar imagenes de cualquier relacion de aspecto de

a veces obtenemos un Exigir Tenemos que renderizar una imagen o varios elementos con imágenes (para ser reciclados) en la vista del reciclador, pero no sabemos qué Relación de aspecto de la imagen original Si. Solo conocemos una de las dimensiones que podemos arreglar, y eso es todo lo que sabemos.Esto es específico para androide Pero puedes usar este proceso iOS además.

Solo para empezar, así es como lo hace Google definir la relación de aspecto

La relación de aspecto es La relación entre el ancho y el alto de la imagen.Esencialmente, describe la forma de la imagen. La relación de aspecto se escribe como una fórmula para ancho y alto de la siguiente manera: 3:2.

genial, ahora sabemos ¿Qué es la relación de aspecto?(sí) déjame compartir rápidamente lo que somos tratando de resolverlo aqui

Supongamos que tenemos un imagen debe mostrarse en la aplicación, nosotros No lo sé qué el tamaño de la imagen original Sí, pero queremos mostrar un Versión más pequeña Eso puede La altura es de 18 dp o el ancho puede ser de 100 dptambién tenemos una sola dimensión alto o ancho, no podemos usar ambos.

Hay Hay dos problemas aquí

  • nosotros no se que ancho(o altura) deberíanpor supuesto, podríamos simplemente obtener la relación de aspecto y calcular el ancho esperado en función de la nueva altura, pero eso nos lleva al segundo problema.
  • nosotros No sé la relación de aspecto.
1648806971 78 Sugerencia rapida cargar imagenes de cualquier relacion de aspecto de

pensamiento inicial– algunos chistes? No sabemos o ni siquiera sabemos ancho (o alto) ni siquiera relación de aspecto¿como podemos hacerlo?

cómo Espero reiniciar y renderizar correctamente En el caso de Reciclar? (se reciclan vistas de diferentes tamaños)

1648806971 340 Sugerencia rapida cargar imagenes de cualquier relacion de aspecto de

Entiendo que esto debería nunca suceda Pero a veces lo hace, créeme Las siguientes soluciones (proporcionadas en SO y en otros lugares) no funcionarán siempre 🙂

Sugerencia rapida cargar imagenes de cualquier relacion de aspecto de
1648806971 49 Sugerencia rapida cargar imagenes de cualquier relacion de aspecto de

he estado usando el segundo metodo Ha sido me da el resultado correcto Para una sola imagen o imágenes en una vista de reciclador con la misma relación de aspecto, pero a veces se rompe cuando todas las imágenes pueden tener diferentes relaciones de aspecto.

yo era un poco enojado incluso después de hacer todos los hacks posibles

  • Restablecer parámetros de diseño
  • jugar con los márgenes

Nada funcionó y estaba totalmente decepcionado.

1648806971 789 Sugerencia rapida cargar imagenes de cualquier relacion de aspecto de

tener fuera Esto siempre está en mi mente, pero nunca traté de implementarlo porque siempre sentirse perezoso incluso pensó Impleméntalo.

Sugerencia rapida cargar imagenes de cualquier relacion de aspecto de

✓ Descargar imagen desde URL (Usaré Glide para esto)
✓ Encuentra el ancho y alto original de la imagen.
✓ Encuentra la relación de aspecto.
✓ Calcule la altura/anchura esperada en función de otras dimensiones conocidas.
✓ Si el ancho/alto calculado es mayor, vuelva a calcular restando 1/9 del nuevo tamaño hasta que encaje.

Eso es todo, configura el mapa de bits y verás una imagen perfectamente proporcionada.

1648806972 314 Sugerencia rapida cargar imagenes de cualquier relacion de aspecto de

por supuesto que nosotros No puedo vivir sin código

1648806972 217 Sugerencia rapida cargar imagenes de cualquier relacion de aspecto de

Así es como Lo implementé.
Nota: (el enlace Gist de Github está en la parte inferior)

1648806972 757 Sugerencia rapida cargar imagenes de cualquier relacion de aspecto de

próximo: Cómo mantener la misma altura de elementos de vista de recicladores horizontales con diferentes tamaños de imagen ? 😀

LEER  ¿Usar Android Studio para configurar Flutter en Linux?Vea este consejo | Autor: Feri Lukmansyah | Junio ​​de 2021

Publicaciones relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba