¿Cómo se cambia el tamaño de un ImageView?

He configurado mi ImageView como el siguiente:

<ImageView android:id="@+id/dl_image" android:layout_width="60dp" android:background="@drawable/pictureframe" android:layout_height="wrap_content" android:layout_marginRight="10dp" android:layout_alignParentLeft="true" android:layout_centerVertical="true" android:adjustViewBounds="true" android:scaleType="fitCenter"/> 

Tenga en cuenta que layout_width está fijo en 60dp. Dependiendo del contenido que haya adquirido en línea, quiero cambiar el tamaño de este ancho a 90dp, o 120dp (manteniendo la relación de aspecto de la imagen).

Intenté usar setLayoutParams, pero pasar LayoutParams (120, LayoutParams.WRAP_CONTENT) lanza una excepción. No parece que le guste.

Si es posible, estoy tratando de evitar hacer otro ImageView para tamaños más grandes.

2 Solutions collect form web for “¿Cómo se cambia el tamaño de un ImageView?”

Si está trabajando con una vista existente, puede ser mucho trabajo crear un nuevo conjunto de LayoutParams desde cero. En su lugar, puede capturar los LayoutParams existentes de la vista, editarlos y aplicarlos a la vista para actualizar LayoutParams mediante setLayoutParams()

 ImageView imageView = findViewById(R.id.dl_image); LayoutParams params = (LayoutParams) imageView.getLayoutParams(); params.width = 120; // existing height is ok as is, no need to edit it imageView.setLayoutParams(params); 

Asegúrese de importar el tipo correcto de LayoutParams . Para este caso, como comentaste, sólo puedes usar LayoutParams de un ViewGroup . Si estaba estableciendo parámetros específicos para un cierto tipo de vista (por ejemplo, alineaciones en RelativeLayout s) tendría que importar LayoutParams de ese tipo de vista.

Puedes hacerlo todo como

 ImageView imageView = findViewById(R.id.dl_image); imageView.getLayoutParams().width = 120; 
  • Añadir un margen a LinearLayout en Android
  • Cómo obtener la altura en píxeles de LinearLayout con layout_weight
  • Android: establece el margen entre los botones con LayoutParams
  • Android Salir del modo de pantalla completa
  • Android: cambiar LayoutParams de vista agregado por WindowManager
  • Cómo usar el arrastrar correctamente de una vista en android
  • ¿Cómo puedo eliminar mediante programación una regla existente que se definió en XML?
  • View.getLayoutParams (). Anchura que no funciona con el turrón
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.