我正在使用
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
我的活动,我正在尝试使用OrientationEventListener
来查找设备的方向。在某些设备上,我的横向显示值 270 ,其他设备显示 0 周围的值。在放置主页按钮的每台设备上,方向值显示 0 。我希望在横向模式下保持所有设备时具有相同的值。是否有一个标志可以显示哪个设备显示270或0作为默认方向的横向模式。
这是我的OrientationEventListener
mOrientationListener = new OrientationEventListener(this,
SensorManager.SENSOR_DELAY_NORMAL) {
@Override
public void onOrientationChanged(int orientation) {
Log.v("Orientation changed to ", String.valueOf(orientation));
}
};
有没有可以帮助解决问题的技巧?
答案 0 :(得分:0)
我找到了解决方案。
使用此代码,我将获得默认的显示旋转:
int rotation = getWindowManager().getDefaultDisplay().getRotation();
在onOrientationChanged
方法的正文中,我可以做到这一点:
if (rotation == 0) {
if (orientation >= 90 && orientation <= 270) {
}
} else if (rotation == 1) {
if (orientation < 180 && orientation > 0 ) {
}
}
仅当我的设备未处于正确的横向位置时,才会输入if。如果我的设备处于90+角度,我可以给用户留言。