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

Qual a lógica por trás do offset cortar a imagem?

Se ele é um deslocamento, não só o círculo que deveria ser deslocado ao invés de cortado?

Poderia explicar esse comportamento?

1 resposta
solução!

Oi Rafael, tudo bem?

A lógica por trás do offset cortar a imagem é que o offset é aplicado antes do clip(shape), que define o formato da imagem. Dessa forma, o offset desloca a imagem para uma determinada posição e, em seguida, o clip(shape) corta a imagem de acordo com o formato especificado.

Vamos analisar o código da aula para entender melhor:

Image(
    painter = painterResource(id = R.drawable.ic_launcher_background),
    contentDescription = null,
    Modifier.size(100.dp)
        .offset(y = (-50).dp)
        .clip(shape=CircleShape)
        .align(CenterHorizontally)
)

Nesse trecho, o offset(y = (-50).dp) desloca a imagem 50dp para cima. Em seguida, o clip(shape = CircleShape) define o formato da imagem como um círculo. Por fim, o align(CenterHorizontally) alinha a imagem horizontalmente no centro.

Dessa forma, o resultado é uma imagem circular deslocada 50dp para cima. Se você quiser deslocar a imagem para outras direções, você pode usar o offset(x = ...) e offset(y = ...) para especificar o deslocamento horizontal e vertical, respectivamente.

Um abraço e bons estudos.