studio glide from example ejemplo developer android image gridview picasso android-glide

from - glide android ejemplo



¿Cómo hacer que el deslizamiento se muestre como picasso? (1)

Por defecto, Glide intentará mantener la relación de aspecto de las imágenes. Cuando usa fitCenter() , esto implica que quiere que toda la imagen esté visible y centrada dentro del área disponible. Cambiar a centerCrop() sería el primer paso para asegurarse de que la imagen llene tanto la altura como el ancho disponibles.

Sin embargo, también está corriendo un problema de larga data con GridView : asume que todas las columnas tienen la misma altura. Sin embargo, utilizas wrap_content para la wrap_content de tu ImageView , haciendo que cada elemento tenga un tamaño diferente según la altura de entrada (recuerda, a la perspectiva de Glide, ¡dijiste que tu ImageView puede ser tan alto como debería ser!).

Si tiene una relación de aspecto dominante (digamos, 16: 9), podría usar una vista de relación de aspecto fija como esta AspectRatioImageView que siempre usaría la misma altura en función del ancho de la columna (establecida por su GridView ). Otra opción, más complicada, es cambiar a RecyclerView y usar StaggeredGridLayoutManager , que le permitirá mantener la relación de aspecto de cada imagen y escalonar las filas, asegurando que cada imagen llene el espacio y mantenga su relación de aspecto.

He estado usando la biblioteca de Picasso para cargar imágenes en mi gridview en mi aplicación y funciona y se ve exactamente como me gustaría. Pero los usuarios me dicen que las imágenes se cargan muy lentamente. Sé que esto se debe a la poca velocidad de la red y Picasso está cargando mis imágenes completas que son muy grandes y luego las cambio de tamaño para que se ajusten a mi vista de imagen. Así que traté de usar un deslizamiento que cargue las imágenes casi al doble de velocidad, pero en algunas imágenes no mantiene la estructura como lo hace Picasso. Por ejemplo, Picasso carga imágenes parece

Mientras que el deslizamiento de ellos carga tiene diferentes estados aquí es lo que carga inicialmente

y luego después del desplazamiento se ve como

y luego, finalmente, después de mucho desplazamiento, se ve como

Estoy bastante seguro de que esto se debe a que todos los tamaños de imagen son diferentes y también parece que hacer que la imagen de marcador tenga un tamaño diferente tiene un efecto, pero lo que quiero saber es cómo conseguir el deslizamiento para mantener su estado inicial o cómo Cómo hago que Picasso cargue más rápido? He oído que bajar el formato de color de 888 a 565 tiene un efecto dramático. ¿Alguien me puede prestar dos centavos? Gracias por todas las sugerencias

EDITAR

esta es mi imagen

<ImageView android:layout_width="match_parent" android:layout_height="wrap_content" android:scaleType="fitXY" android:id="@+id/imageView"/>

así es como yo llamaba picasso

Picasso.with(getActivity()) .load(mThumbIds[position]) .placeholder(R.drawable.placeholder) .fit() .into(imageView); return imageView;

y así es como ahora llamo planeo

Glide.with(getActivity()) .load(mThumbIds[position]) .asBitmap() .placeholder(R.drawable.placeholder) .diskCacheStrategy(DiskCacheStrategy.ALL) .fitCenter() .error(R.drawable.ic_photos) .into(imageView); return imageView;

y si es importante, este es mi gridview

<GridView android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_margin="5dp" android:id="@+id/gridview" android:numColumns="2" android:gravity="center" android:drawSelectorOnTop="true" android:listSelector="@drawable/ripple" android:stretchMode="columnWidth" >