Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

marginStart - kotlin

Como mudar a margin de um componente programaticamente??

exemplo: tenho uma searchBar ao clicar ela precisa recuar o marginStart

1 resposta
solução!

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 !!