我目前正在开发一个根据屏幕方向具有不同行为的 Android 应用程序。
我正在使用 getWindowManager().getDefaultDisplay().getRotation() 在 onCreate() 方法中获取屏幕方向并从那里进行管理。
基本上,我的问题是我需要控制方向。在横向模式下,当用户决定时,应用程序必须切换到纵向模式,并保持这种状态,但直到用户进入纵向模式,然后再切换到横向模式。
我正在使用 setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT) 在横向时更改方向。问题是,使用这个,我不能回到风景。如果我在 onCreate() 中使用 setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_UNSPECIFIED),问题是几秒钟后切换回横向模式(因为屏幕仍处于横向)。
有没有其他方法来管理这个?基本上,有没有办法用监听器捕捉屏幕方向的变化(或者在onCreate之外的任何地方,因为当视图被锁定在纵向模式时它不会被调用)?我找不到任何关于那个的...
欢迎任何想法!
谢谢!