¿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; 
  • cómo establecer el relleno o el margen a la disposición lineal?
  • Añadir diseño con parámetros programáticamente Android
  • ¿Cómo ampliar la vista sin problemas en Android?
  • GetLayoutParams (). Width VS setMax / MinimumWidth () para ImageView
  • Restablecer LayoutParams a lo que se define en XML
  • Cómo obtener el ancho y la altura de la imagen mostrada en android?
  • Combinación WindowManager.LayoutParams que puede pasar eventos a capas bajo TYPE_SYSTEM_ALERT o smilar
  • Establecer LayoutParams de ListView cuando se utiliza DrawerLayout con fragmentos
  • ¿Qué unidad de medida utiliza LayoutParams?
  • Expectativa de puntero nulo al configurar LayoutParams
  • vista de búsqueda no expandir todo el ancho
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.