pantalla - comprimir imagen android studio
¿Configurar ancho y alto de ImageView programáticamente? (9)
¿Cómo puedo configurar el ancho y el alto de un ImageView
programación?
Esta forma simple de hacer tu tarea:
setContentView(R.id.main);
ImageView iv = (ImageView) findViewById(R.id.left);
int width = 60;
int height = 60;
LinearLayout.LayoutParams parms = new LinearLayout.LayoutParams(width,height);
iv.setLayoutParams(parms);
y de otra manera, si desea dar el tamaño de la pantalla en altura y anchura, use el siguiente código:
setContentView(R.id.main);
Display display = getWindowManager().getDefaultDisplay();
ImageView iv = (LinearLayout) findViewById(R.id.left);
int width = display.getWidth(); // ((display.getWidth()*20)/100)
int height = display.getHeight();// ((display.getHeight()*30)/100)
LinearLayout.LayoutParams parms = new LinearLayout.LayoutParams(width,height);
iv.setLayoutParams(parms);
Espero aprovecharlo por completo.
He jugado este con pixel
y dp
.
private int dimensionInPixel = 200;
Cómo configurar por píxel :
view.getLayoutParams().height = dimensionInPixel;
view.getLayoutParams().width = dimensionInPixel;
view.requestLayout();
Cómo configurar por dp :
int dimensionInDp = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, dimensionInPixel, getResources().getDisplayMetrics());
view.getLayoutParams().height = dimensionInDp;
view.getLayoutParams().width = dimensionInDp;
view.requestLayout();
Espero que esto te ayude.
La mejor y más fácil forma de configurar un botón dinámicamente es
Button index=new Button(this);
int height = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 45, getResources().getDisplayMetrics());
int width = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 42, getResources().getDisplayMetrics());
La altura y el ancho de arriba están en píxeles px . 45 siendo la altura en dp y 42 siendo el ancho en dp .
index.setLayoutParams(new <Parent>.LayoutParams(width, height));
Entonces, por ejemplo, si ha colocado su botón dentro de TableRow dentro de TableLayout, debe tenerlo como TableRow.LayoutParams
index.setLayoutParams(new TableRow.LayoutParams(width, height));
Puede establecer el valor para todos los casos.
demoImage.getLayoutParams().height = 150;
demoImage.getLayoutParams().width = 150;
demoImage.setScaleType(ImageView.ScaleType.FIT_XY);
Puede ser demasiado tarde, pero por el bien de otros que tienen el mismo problema, establecer la altura de ImageView:
image_view.getLayoutParams().height = 20;
Espero que esto ayude.
Importante. Si está configurando la altura después de que el diseño ya se haya ''diseñado'', asegúrese de llamar también:
image_view.requestLayout()
Si necesita establecer su ancho o alto en match_parent
(tan grande como su padre) o wrap_content
(lo suficientemente grande para ajustarse a su propio contenido interno), ViewGroup.LayoutParams
tiene estas dos constantes:
imageView.setLayoutParams(
new ViewGroup.LayoutParams(
// or ViewGroup.LayoutParams.WRAP_CONTENT
ViewGroup.LayoutParams.MATCH_PARENT,
// or ViewGroup.LayoutParams.WRAP_CONTENT,
ViewGroup.LayoutParams.MATCH_PARENT ) );
O puede establecerlos como en la answer Hakem Zaied:
imageView.getLayoutParams().width = ViewGroup.LayoutParams.MATCH_PARENT;
//...
Si su vista de imagen es dinámica, la respuesta que contenga getLayout fallará con una excepción nula.
En ese caso la forma correcta es:
LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(100, 100);
iv.setLayoutParams(layoutParams);
Simplemente crea un objeto LayoutParams y asignalo a tu imageView
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(150, 150);
imageView.setLayoutParams(params);
image_view.getLayoutParams().height
devuelve el valor de altura en píxeles. Es necesario obtener las dimensiones de la pantalla primero para establecer los valores correctamente.
Display display = context.getWindowManager().getDefaultDisplay();
DisplayMetrics outMetrics = new DisplayMetrics();
display.getMetrics(outMetrics);
int screen_height = outMetrics.heightPixels;
int screen_width = outMetrics.widthPixels;
Después de obtener las dimensiones de la pantalla, puede configurar el ancho y alto de la vista de la imagen utilizando los márgenes adecuados.
view.getLayoutParams().height = screen_height - 140;
view.getLayoutParams().width = screen_width - 130 ;