Cambiar el tamaño de ImageView en tiempo de ejecución mediante un botón – Android

Estoy mostrando una imagen usando el contenedor de ImageView. La imagen necesita ser redimensionada cuando un usuario introduce un valor específico y hace clic en actualizar

Redimensionar es sólo para mostrar, el recurso original permanece como está. NO editar, guardar, etc

Diseño xml

<ImageView android:background="@drawable/picture01" android:id="@+id/picture01holder" android:layout_below="@+id/TextView01" android:layout_height="wrap_content" android:layout_width="wrap_content" </ImageView> 

Mainjava

 final ImageView pic01 = (ImageView)findViewById(R.id.picture01); 

Ahora lo que hago para asignar dinámicamente este pic01 un tamaño de mi elección. Sólo la función, lo puedo implementar dentro de un botón de mí mismo. Creo que tengo que usar algo como pic01.setLayoutParams pero no sé cómo usarlo.

Básicamente quiero sobrescribir layout_height = "wrap_content" y layout_width = "wrap_content" en .java

Cambiar el tamaño de vista de imagen teniendo LayoutParams

  final ImageView pic01 = (ImageView)findViewById(R.id.picture01); LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(50, 50); pic01.setLayoutParams(layoutParams); 

En primer lugar, debe establecer el tipo de escala de la imagen en CENTER_INSIDE o CENTER_CROP según sus preferencias. Debe hacer esto en su método onCreate ().

 myImageView.setScaleType(ImageView.ScaleType.CENTER_INSIDE); 

Afterwords sólo tiene que cambiar el tamaño de la vista de la imagen en su diseño. Esto dependerá del tipo de diseño que esté usando. Un ejemplo para LinearLayout sería:

 LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(100,200); myImageView.setLayoutParams(params); 

O puede configurar el tamaño mínimo de los componentes:

 myImageView.setMinimumWidth(200); myImageView.setMinimumHeight(200); 

En ambos casos asegúrese de que el tamaño se puede lograr dentro del diseño. Si tiene varios componentes con pesos más pequeños, es posible que la vista de imagen no pueda ocupar el espacio que necesita.

 RelativeLayout.LayoutParams myParams = new RelativeLayout.LayoutParams(yourWidthHere, yourHeightHere); pic01.setLayoutParams(myParams) 
  • Visualización de una imagen más grande que la pantalla del dispositivo
  • Utilidad de android nueve parche
  • Anchura máxima y altura para ImageView en Android
  • Evite varios juegos de dibujos (hdpi / mdpi / ldpi)
  • ¿Cómo imitar la aplicación de Lollipop teléfono, con el cambio de tamaño de los elementos superiores antes de que el contenido desplazable?
  • ¿Cómo escalar / cambiar el tamaño del texto para que se ajuste a un TextView?
  • Android configuración de fondos de pantalla ido mal
  • Cómo cambiar el tamaño de una vista personalizada mediante programación?
  • Escala de texto en una vista para que se ajuste?
  • Resize Drawable en Android
  • Problemas de calidad al cambiar el tamaño de una imagen en tiempo de ejecución
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.