¿Configurar el ancho y la altura de ImageView mediante programación?
¿Cómo puedo configurar el ancho y la altura de ImageView
programática?
- Cómo eliminar el espaciado del widget de pestañas en Android?
- GridView altura de la fila
- OnUpdate no se llama en widget, aunque veo la intención de android.appwidget.action.APPWIDGET_UPDATE en onreceive
- Deshabilitar el teclado virtual en NumberPicker
- ¿Cómo cambiar la vista previa del lanzador de widgets?
- Rotación a un ImageView, dentro de un RelativeLayout
- Android- múltiples hilanderos
- Android - Cuando se inicia la misma actividad desde el widget con diferentes extras, ¿cómo evitar que aparezca la misma instancia después de regresar del botón HOME?
- Cómo escribir palabra para la aplicación en la pantalla
- ¿Es posible reutilizar RemoteViews en un appWidget en lugar de crear nuevos cada vez? Y cómo puedo almacenarlos?
- Prueba de Android si el elemento de interfaz de usuario / vista existe
- Documentación del widget de la pantalla principal de Android
- Cómo reducir el tamaño de WebView dinámicamente de acuerdo a su contenido?
Puede ser demasiado tarde, pero por el bien de otros que tienen el mismo problema, para establecer la altura de la 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 "distribuido", asegúrese de llamar también:
image_view.requestLayout()
Si su vista de imagen es dinámica, la respuesta que contiene getLayout fallará con null-exception.
En ese caso la forma correcta es:
LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(100, 100); iv.setLayoutParams(layoutParams);
Esta manera simple de hacer su 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 otra manera si desea dar tamaño de pantalla en altura y ancho a continuación, utilice código debajo:
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 que el uso completo para usted.
He jugado este con pixel
y dp
.
private int dimensionInPixel = 200;
Cómo establecer por píxeles :
view.getLayoutParams().height = dimensionInPixel; view.getLayoutParams().width = dimensionInPixel; view.requestLayout();
Cómo establecer 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.
Si necesita establecer su ancho o altura para match_parent
(tan grande como su padre) o wrap_content
(lo suficientemente grande para ajustar su propio contenido interno), entonces 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 usted puede fijarlos como en la respuesta de Hakem Zaied:
imageView.getLayoutParams().width = ViewGroup.LayoutParams.MATCH_PARENT; //...
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 establecer el ancho y la altura de la vista de la imagen con los márgenes adecuados.
view.getLayoutParams().height = screen_height - 140; view.getLayoutParams().width = screen_width - 130 ;
La mejor y más fácil forma de establecer 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 la anchura anteriores están en píxeles px . Siendo 45 la altura en dp y 42 siendo la anchura en dp .
index.setLayoutParams(new <Parent>.LayoutParams(width, height));
Por ejemplo, si ha colocado el botón dentro de un TableRow dentro de un TableLayout, debe tenerlo como TableRow.LayoutParams
index.setLayoutParams(new TableRow.LayoutParams(width, height));
Basta con crear un objeto LayoutParams y asignarlo a su imageView
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(150, 150); imageView.setLayoutParams(params);
Puede establecer el valor para todos los casos.
demoImage.getLayoutParams().height = 150; demoImage.getLayoutParams().width = 150; demoImage.setScaleType(ImageView.ScaleType.FIT_XY);
- No se puede ejecutar dex: se superó el límite superior de GC en Eclipse
- ¿Cómo instalar Android SDK Build Tools en la línea de comandos?