Android: применение портрета на телефонах, но позволяет вращение на основе датчиков на таблетках без мерцания при запускAndroid

Форум для тех, кто программирует под Android
Anonymous
Android: применение портрета на телефонах, но позволяет вращение на основе датчиков на таблетках без мерцания при запуск

Сообщение Anonymous »

У меня есть базоактивность, в которой я называю этот вспомогательный метод для блокировки телефонов в режиме портрета, в то время как таблетки могут свободно вращаться: < /p>
@SuppressLint("SourceLockedOrientationActivity")
@OptIn(UnstableApi::class)
protected fun setOrientationPortraitIfRequired() {
requestedOrientation = when {
MobileApp.isTablet -> ActivityInfo.SCREEN_ORIENTATION_UNSPECIFIED
else -> ActivityInfo.SCREEN_ORIENTATION_PORTRAIT
}
}
< /code>
В моем манифесте я не указываю какую-либо экранизация: < /p>

< /code>
Что происходит: < /p>

На телефонах активность остается в портрете (✅). < /li>
На таблетках, активность правильно чтит ориентацию устройства (✅). На портрете затем переворачивается в пейзаж. Этот мерцание-это резкое. /> < /ul>
Удаление любого блокировки ориентации манифеста: < /p>

Таблетки → ОК < /li>
телефоны → могут вращаться в пейзаж (❌) < /li>
< /ul>
Я мог создать два ракушки (один с экраном, но один, но один. Это добавляет сложности к нашему CI /CD и замедляет выпуск. Поддержание двух отдельных APK или вкуса построить?>

Подробнее здесь: https://stackoverflow.com/questions/796 ... -tablets-w

Вернуться в «Android»