Como mudar a margin de um componente programaticamente??
exemplo: tenho uma searchBar ao clicar ela precisa recuar o marginStart
Como mudar a margin de um componente programaticamente??
exemplo: tenho uma searchBar ao clicar ela precisa recuar o marginStart
Olá Luciano, tudo bem?
Podemos utilizar os parâmetros do constraint layout, neste exemplo estarei usando o ViewBinding:
binding.buttonChangeMargin.setOnClickListener {
// Convertendo 16 DP's em pixels para utilizarmos na função
val marginDp = 16
val marginPx = TypedValue.applyDimension(
TypedValue.COMPLEX_UNIT_DIP,
marginDp.toFloat(),
resources.displayMetrics
).toInt()
val params = binding.textViewHello.layoutParams as ConstraintLayout.LayoutParams
params.marginStart += marginPx
binding.textViewHello.layoutParams = params
}
Aloquei a funcionalidade de adicionar margin para um botão chamado buttonChangeMargin
e com ele, é aumentado a margin em pixels, por isso, fiz um conversor de DP em Pixels.
Qualquer dúvida, estarei à disposição :)
Forte abraço e bons estudos !!