XML 기반 레이아웃에서 ImageView를 Compose에서 사용하려면 Image를 사용하면 된다.
Image의 함수는 아래와 같다.
@Composable
fun Image(
painter: Painter,
contentDescription: String?,
modifier: Modifier = Modifier,
alignment: Alignment = Alignment.Center,
contentScale: ContentScale = ContentScale.Fit,
alpha: Float = DefaultAlpha,
colorFilter: ColorFilter? = null
){
...
}
이미지를 보여주기 위해서는 2가지 파라미터를 반드시 넣어줘야 한다.
painter
: painterResource()라는 함수를 통해서 drawable의 id를 전달하면 이미지를 보여줄 수 있다.contentDescription
: 시각 장애인을 위한 대체 텍스트로서, null 값을 지정할 수도 있지만 접근성 대응을 위해서는 적절한 대체 텍스트를 넣어주는게 좋다.click을 하기 위해서는 Modifier.clickable { } 을 통해서 click 처리를 구현할 수 있다.
확실히 xml 기반 레이아웃에 비해서 간결하고 직관적으로 UI를 작성할 수 있다는게 편리하다.