Quiero agregar un número desconocido de ImageView
vistas a mi diseño con margen. En XML, puedo usar layout_margin
así:
<ImageView android:layout_margin="5dip" android:src="@drawable/image" />
Hay ImageView.setPadding()
, pero no ImageView.setMargin()
. Creo que está en la línea de ImageView.setLayoutParams(LayoutParams)
, pero no estoy seguro de qué alimentar con eso.
¿Alguien sabe?
FrameLayout.LayoutParams
y tal vez con otros: stackoverflow.com/questions/5401952/…android:layout_centerHorizontal = "true"
yandroid:layout_alignParentBottom = "true"
en forma waht pude lograr esto?fuente
android:layout_centerHorizontal = "true"
yandroid:layout_alignParentBottom = "true"
en forma waht pude lograr esto?Todos los ejemplos anteriores REEMPLAZARÁN cualquier parámetro ya presente para la Vista, que puede no ser deseado. El siguiente código solo extenderá los parámetros existentes, sin reemplazarlos:
fuente
El código de Kevin crea
MarginLayoutParams
objetos redundantes . Versión más simple:fuente
Si desea cambiar el margen de vista de la imagen pero dejar todos los demás márgenes intactos.
Obtenga MarginLayoutParameters de su vista de imagen en este caso:
myImageView
Ahora solo cambie el margen que desea cambiar, pero deje los demás como están:
fuente
Puede usar este método, en caso de que desee especificar márgenes en dp:
fuente
Simplemente uso esto y funciona muy bien:
La unidad de setMargins () es pixel no dp. Si desea establecer el margen en dp, solo dentro de su archivo values / dimens.xml cree sus dimensiones como:
y acceda como:
fuente
Si usa kotlin, esto se puede simplificar creando una función de extensión
Ahora todo lo que necesita es una vista, y esta función de extensión se puede usar en cualquier lugar.
fuente
left
yright
márgenes, pero si tiene márgenes relativos (start
yend
) no funciona. Escribí un resumen con una versión 'mejorada' de su código: gist.github.com/Grohden/f40c53bf86c5395638f7a44bf90e732d (lasetMarginsRelative
función), ¿podría incluir eso en su respuesta?fuente
Para mí esto funcionó:
fuente
fuente
Usar un método similar a este podría ahorrarle dolores de cabeza en algunas situaciones. Si tiene dos pases de retoques programáticos con márgenes, es más seguro verificar si ya hay algún conjunto de parámetros de diseño. Si ya hay algunos márgenes, uno debería aumentarlos y no reemplazarlos:
fuente
Aquí hay un ejemplo para agregar un margen de 8px a la izquierda, arriba, derecha, abajo.
fuente
Respuesta del año 2020:
y califícalo simplemente en tu código
fuente