я сталкивался с проблемой, где ориентация sensorPortrait
не работает, я попробовал позволяет как через манифеста и в самой деятельности сAndroid - ориентация «sensorPortrait» не работает
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR_PORTRAIT);
Но это, кажется, просто быть заблокирован в обычном портретном режиме, однако, если я попробовать `fullSensor»
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_FULL_SENSOR);
, которые в соответствии с Документами
Ориентация определяется датчиком ориентации устройства для любой из 4 ориентаций. Это похоже на «датчик», за исключением того, что это позволяет использовать любую из 4 возможных ориентаций экрана, независимо от того, что обычно будет делать устройство (например, некоторые устройства обычно не используют обратную портретную или обратную панораму, но это позволяет этим). Добавлено в API уровне 9.
и он делает именно это, все 4 ориентации возможны. Если я попробовать
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_REVERSE_PORTRAIT);
Я смог добиться обратного портрет, который ведет меня обратно к моему первоначальному вопросу, почему sensorPortrait
не работает? Похоже, что-то делать с этой строкой из документации для `fullSensor»
независимо от того, что устройство будет обычно делать (например, некоторые устройства не будут нормально использовать обратный портрет или пейзаж реверса, но это дает те)
Так как же я включить его, что возможно и почему fullSensor
кажется, переопределить его, но не sensorPortrait
? Кажется, я не могу найти упоминания о том, как это сделать. Это question предполагает, что за это отвечает PhoneWindowManager
.
Является идеальным решением только для создания OrientationEventListener()
и вручную вызывает setRequestedOrientation()
вручную в зависимости от значений, возвращаемых через onOrientationChanged(int orientation)
?
Это единственное решение, которое действительно работает для этого вопроса, который я видел. Сделали то же самое, что и сейчас, поскольку sensorPortrait просто не делает того, чего от него ожидают! Это также, похоже, быстрее реагирует на ротацию, и это бонус. Спасибо, что поделился. – WillEllis