如何在不实际改变屏幕尺寸的情况下收听方向更改事件?



我有一个完全为纵向模式编写的应用程序。

但是我有一个活动,我正在播放视频。

我想检测用户已将设备置于横向位置,因此我只需在视频播放器中调用 API 调用即可将视频播放设置为全屏。

我目前所做的是添加

android:screenOrientation="fullSensor"
android:configChanges="orientation|screenSize"

在 android 清单中,然后重写此方法以获取代码中的事件回调。

@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
}

但是,我注意到当我这样做时,我的屏幕实际上改变了方向。

有没有办法保持纵向模式,只收到来自安卓的回调?

您可以改为收听加速度计传感器,并检测手机何时横向握持。这样,您可以决定在任何情况下显示屏幕的方向。

要了解如何获取加速计数据,请参阅 Android 文档。

最新更新