¿Cómo puedo configurar ImageView
el ancho y el alto de una mediante programación?
java
android
android-emulator
android-widget
praveenb
fuente
fuente
Respuestas:
Puede ser demasiado tarde, pero por el bien de otros que tienen el mismo problema, establecer la altura de ImageView:
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 a:
fuente
image_view.getLayoutParams().height = RelativeLayout.LayoutParams.WRAP_CONTENT
. Si la vista principal seLinearLayout
reemplazaRelativeLayout
con ellaSi su vista de imagen es dinámica, la respuesta que contiene getLayout fallará con una excepción nula.
En ese caso, la forma correcta es:
fuente
ImageView
desaparece. El truco es hacer que la parte del diseño (es decir,<this_part_here>.LayoutParams
) sea la misma que la del padreImageView
. Entonces, por ejemplo, si ha colocado suImageView
dentro deTableRow
dentro de aTableLayout
, debe tenerlo comoTableRow.LayoutParams
.Esta forma simple de hacer tu tarea:
y de otra manera, si desea dar el tamaño de la pantalla en altura y ancho, use el siguiente código:
Espero usarlo por completo.
fuente
int
variables si no se reutilizarán en otro lugar? Parece innecesario pero no sé mucho al respecto tbh.He jugado este con
pixel
ydp
.Cómo configurar por píxel :
Cómo configurar por dp :
Espero que esto te ayude.
fuente
Si necesita establecer su ancho o alto en
match_parent
(tan grande como su padre) owrap_content
(lo suficientemente grande como para ajustarse a su propio contenido interno), entoncesViewGroup.LayoutParams
tiene estas dos constantes:O puede configurarlos como en la respuesta de Hakem Zaied :
fuente
Puede establecer el valor para todos los casos.
fuente
La mejor y más fácil forma de configurar un botón dinámicamente es
La altura y el ancho anteriores están en píxeles px . 45 es la altura en dp y 42 es el ancho en dp .
Entonces, por ejemplo, si ha colocado su botón dentro de un TableRow dentro de un TableLayout, debe tenerlo como TableRow.LayoutParams
fuente
Simplemente cree un objeto LayoutParams y asígnelo a su imageView
fuente
Devuelve el valor de altura en píxeles. Primero debe obtener las dimensiones de la pantalla para establecer los valores correctamente.
Después de obtener las dimensiones de la pantalla, puede establecer el ancho y la altura de la vista de imagen utilizando los márgenes adecuados.
fuente
Para configurar el ImageView y la altura de forma programática, puede hacer
fuente
Kotlin
fuente
En el escenario donde el tamaño del widget debe establecerse mediante programación, asegúrese de las siguientes reglas.
LayoutParam
el diseño en el que está agregando esa vista . En mi caso estoy agregando aTableRow
lo que tuve que hacerTableRow.LayoutParams
final float scale = getResources().getDisplayMetrics().density; int dpWidthInPx = (int) (17 * scale); int dpHeightInPx = (int) (17 * scale);
TableRow.LayoutParams deletelayoutParams = new TableRow.LayoutParams(dpWidthInPx, dpHeightInPx); button.setLayoutParams(deletelayoutParams); tableRow.addView(button, 1);
fuente
Si solo desea ajustar la imagen en la vista de imagen, puede usar "envolver contenido" en la propiedad de alto y ancho con tipo de escala, pero si desea configurarlo manualmente, debe usar LayoutParams.
Layoutparams es eficiente para configurar la altura y el ancho del diseño mediante programación.
fuente
fuente