В приложении камеры Samsung я видел, что это возможно, поскольку пользовательский интерфейс и системная панель обновляют свое положение с помощью вращение, но предварительный просмотр видоискателя вращается плавно.
Затем я устанавливаю в манифесте configChanges все возможные значения (я удалю ненужные одно за другим после завершения).
OnCreate не вызывается при вращении, но представление перестраивается.
В манифесте я установил android:rotationAnimation="seamless".
Даже оставив только AndroidView, в ротации есть этот очень короткий шаг.
Надеюсь, кто-нибудь сможет подскажите, что я делаю не так, я не эксперт, возможно, я делаю какую-то базовую ошибку..
Это мой код:
Код: Выделить всё
setContent {
AppTheme {
/* Surface(
modifier = Modifier.fillMaxSize(),
color = MaterialTheme.colorScheme.background
) {*/
AndroidView(
modifier = Modifier.fillMaxSize(),
factory = { ctx -> PreviewView(ctx).let { takePicAVM.preview.setSurfaceProvider(it.surfaceProvider) ; it }},
)
CameraScreen()
// }
}
}
Код: Выделить всё
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
window.insetsController?.hide(WindowInsets.Type.statusBars())
} else {
window.setFlags(
WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN
)
}
Подробнее здесь: https://stackoverflow.com/questions/790 ... inder-with
Мобильная версия