Cambiar el tamaño de la imagen para ajustarse a Imageview
He mirado MUCHAS preguntas sobre Stackoverflow y he probado muchas soluciones, pero todavía no funcionó.
Lo que quiero lograr:
- Cómo crear una imageView con parámetros id y src?
- Imagen SVG no visible en android 3.0+ con el mismo código
- Cómo configurar el efecto de brillo exterior en ImageView?
- Android: Bitmap a Byte Array y espalda: SkImageDecoder :: Factory devuelto null
- Outofmemeoryerror (viewpager + visiones de imagen)
Sin embargo, estoy logrando esto:
Este es mi código xml actual:
<ImageView android:id="@+id/image" android:layout_width="fill_parent" android:layout_height="match_parent" android:layout_below="@+id/text" android:layout_gravity="center" android:adjustViewBounds="true" android:scaleType="centerInside" android:src="@drawable/ic_action_search" />
- Cargando imágenes en un gridview con tarea asíncrona, no cargando correctamente
- No se puede establecer el color de fondo de la vista de imagen cuando no tiene un recurso de imagen
- Android cómo aplicar la máscara en ImageView?
- Alpha-gradient en Android
- Cómo ocultar / recortar un rectángulo en ImageView
- ImageView.getWidth () devuelve 0
- Añadir degradado a la vista de imagen
- Android ImageView no coincide con_parent dentro de FrameLayout por debajo de GingerBread
La mejor manera de lograr esto es escalar la imagen (mapa de bits) usando una matriz.
Una alternativa es usar una biblioteca que creé anteriormente y que hace esto por usted:
https://github.com/laurencedawson/ZoomableImageView
Esto escalará automáticamente la imagen para que se ajuste a la pantalla y también añadir pellizco para hacer zoom.
añadir
<ImageView android:id="@+id/image" android:layout_width="fill_parent" android:layout_height="match_parent" android:layout_below="@+id/text" android:layout_gravity="center" android:adjustViewBounds="true" android:scaleType="fitXY" android:src="@drawable/ic_action_search" />
CenterInside, Cambiar el tamaño de la imagen según las dimensiones de la vista y sus resoluciones. Así que si una imagen tiene el tamaño de 300 * 450 y hemos fijado esta imagen a un imageview del tipo centerinside de la escala, con las dimensiones 200 * 400, entonces hará tamaño de la imagen a 200 * 300, según las dimensiones de la blanco, Abajo 200 es mínimo en anchura y altura. Espero ser lo suficientemente claro. En los casos en los que es necesario establecer dimensiones de tamaño exacto, utilice FItXY, como sugiere Adeel.
¿Quieres hacerlo dentro del archivo XML?
<ImageView android:layout_width="size of image (in density pixels)" android:layout_height="size of image (in density pixels)" />
así por ejemplo:
<ImageView android:layout_width="60dp" android:layout_height="60dp" />
- El selector de dispositivos de Android Studio se muestra antes de completar Gradle Build
- Relacionar URI con <data> como http://example.com/algo en AndroidManifest