Is there a way to lock orientation during runtime? For example I'd like to allow the user to lock the screen to landscape if the user currently in landscape and toggle the menu option.
相关问题
- How can I create this custom Bottom Navigation on
- Bottom Navigation View gets Shrink Down
- How to make that the snackbar action button be sho
- Listening to outgoing sms not working android
- How to create Circular view on android wear?
相关文章
- android开发 怎么把图片放入drawable的文件夹下
- android上如何获取/storage/emulated/下的文件列表
- androidStudio有个箭头不认识
- SQLite不能创建表
- Windows - Android SDK manager not listing any plat
- Animate Recycler View grid when number of columns
- Why is the app closing suddenly without showing an
- Android OverlayItem.setMarker(): Change the marker
I seemed to had have a similar case. I wanted to support any orientation, but I needed to stay in the current orientation after a certain point in the workflow. My solution was:
At entry of the protected workflow:
At exit of the protected workflow:
Here is the Xamarin conversion of @pstoppani 's answer above.
NOTE: this is for a Fragment, replace Activity. with this. if used within an activity.
This is untested as went with a different approach before used it, but may be of use.
Alternative to @pstoppani answer with support for tablets (As with @pstoppani answer, this will only work on devices >2.2)
-Tested on
Samsung Galaxy SIII
andSamsung Galaxy Tab 10.1
Be careful of the difference between what getConfiguration returns and what setRequestedOrientation wants - they are both int, but they are coming from different constant definitions.
Here's how to lock the current orientation, while allowing 180 degree flips
This works on devices with reverse portrait and reverse landscape.
Lock orientation:
Unlock orientation:
Here is my code, you could lock with one of these methods your screen and once finished the task unlock it with unlockOrientation: