validar studio imagen from cambiar android layout imageview

studio - imageview xamarin android



¿Cómo configuraLayoutParams() para un ImageView? (4)

Quiero establecer los LayoutParams para un ImageView pero no puedo encontrar la forma correcta de hacerlo.

Solo puedo encontrar documentación en la API para varios ViewGroups , pero no en ImageView . Sin embargo, el ImageView parece tener esta funcionalidad.

Este código no funciona ...

myImageView.setLayoutParams(new ImageView.LayoutParams(30,30));

¿Cómo lo hago?


Necesita establecer los Parámetros de diseño del grupo de visualización en el que se encuentra ImageView. Por ejemplo, si su ImageView está dentro de un LinearLayout, entonces usted crea un

LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(30, 30); yourImageView.setLayoutParams(layoutParams);

Esto se debe a que es el padre de la Vista que necesita saber qué tamaño asignar a la Vista.


Si está cambiando el diseño de un ImageView existente, debería poder simplemente obtener los LayoutParams actuales, cambiar el ancho / alto y volver a configurarlo:

android.view.ViewGroup.LayoutParams layoutParams = myImageView.getLayoutParams(); layoutParams.width = 30; layoutParams.height = 30; myImageView.setLayoutParams(layoutParams);

No sé si ese es tu objetivo, pero si lo es, esta es probablemente la solución más fácil.


Un ImageView obtiene setLayoutParams de View que usa ViewGroup.LayoutParams. Si usa eso, se bloqueará en la mayoría de los casos, por lo que debería usar getLayoutParams () que se encuentra en View.class. Esto heredará la vista principal de ImageView y funcionará siempre. Puede confirmar esto aquí: ImageView extiende la vista

Suponiendo que tiene un ImageView definido como '' image_view '' y el ancho / alto int definido como ''thumb_size''

La mejor manera de hacer esto :

ViewGroup.LayoutParams iv_params_b = image_view.getLayoutParams(); iv_params_b.height = thumb_size; iv_params_b.width = thumb_size; image_view.setLayoutParams(iv_params_b);


Viejo hilo, pero ahora tenía el mismo problema. Si alguien se encuentra con esto, probablemente encontrará esta respuesta:

LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(30, 30); yourImageView.setLayoutParams(layoutParams);

Esto funcionará solo si agrega ImageView como subView a LinearLayout. Si lo agrega a un RelativeLayout, deberá llamar:

RelativeLayout.LayoutParams layoutParams = new RelativeLayout.LayoutParams(30, 30); yourImageView.setLayoutParams(layoutParams);