はじめに
以前、カメラの実装をComposeでした際に軽く詰まったところを消化していこうと思います
本文
https://developer.android.com/media/camera/camerax/preview?hl=ja#scale-type
上記にあるようにカメラのPreview Viewを実装するときはカメラの比率を変えることができないようになっています。
そのため、デザインに合わせた表示するには下記の2種類どちらかの対応が必要になります。
// Box等で無理やりカバーをしてあげる
Column(modifier = modifier) {
Camera(
useCase = useCase
)
Box(
modifier = Modifier
.fillMaxWidth()
.background(Color.White)
) {
Spacer(
modifier = Modifier
.fillMaxWidth()
.aspectRatio(CoverRatio),
)
}
}
// 親Viewの大きさに制約をつけてclipToBoundsではみ出さないようにする
Column(modifier = modifier.aspectRatio(4f / 3f)) {
Camera(
useCase = useCase
modifier = Modifier.clipToBounds(),
)
}
最後に
意外と触る機会が少ないのと、デザインに合わせる上で重要なことなので備忘録として残しておこうと思います
どなたかのお役に立てれば幸いです