Se ele é um deslocamento, não só o círculo que deveria ser deslocado ao invés de cortado?
Poderia explicar esse comportamento?
Se ele é um deslocamento, não só o círculo que deveria ser deslocado ao invés de cortado?
Poderia explicar esse comportamento?
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.