Android 如果方向设置为纵向,是否仍能检测到方向变化?
我正在尝试使用OrientationEventListener检测设备方向的变化,以便在布局设置为纵向时,使一些按钮随设备方向旋转。我想知道使用SensorEventListener是否是一个更好的主意,但我不知道如何使用,因为我以前从未使用过传感器。有没有办法做到这一点 OrientationEventListener是正确的选择。你为什么认为SensorEventListener更好 这样做:Android 如果方向设置为纵向,是否仍能检测到方向变化?,android,animation,button,sensors,screen-orientation,Android,Animation,Button,Sensors,Screen Orientation,我正在尝试使用OrientationEventListener检测设备方向的变化,以便在布局设置为纵向时,使一些按钮随设备方向旋转。我想知道使用SensorEventListener是否是一个更好的主意,但我不知道如何使用,因为我以前从未使用过传感器。有没有办法做到这一点 OrientationEventListener是正确的选择。你为什么认为SensorEventListener更好 这样做: OrientationEventListener orientationEventListener
OrientationEventListener orientationEventListener = new OrientationEventListener(this, SensorManager.SENSOR_DELAY_UI) {
@Override
public void onOrientationChanged(int angle) {
if(angle > 260 && angle < 280) {
button.setRotation(90);
} else if(angle > 80 && angle < 100) {
button.setRotation(270);
} else if(angle > 350 || angle < 10){
button.setRotation(0);
}
}
};
orientationEventListener.enable();
OrientationEventListener OrientationEventListener=新的OrientationEventListener(这是SensorManager.SENSOR\u DELAY\u UI){
@凌驾
公共空间onOrientationChanged(内角){
如果(角度>260和角度<280){
按钮。设置旋转(90);
}否则,如果(角度>80和角度<100){
按钮。设置旋转(270);
}否则,如果(角度>350 | |角度<10){
按钮。设置旋转(0);
}
}
};
orientationEventListener.enable();
我认为,一个OrientationEventListener总能检测到肖像。除此之外,我对OrientationEventListener做了非常类似的事情,它完全有效。它将检测设备的角度,这更灵活。在你的链接中,这个人覆盖了onConfigurationChanged,显然它不会工作。太好了,这完全是我想要做的。要检测设备的角度并相应地旋转按钮,您是否有一些示例可以指导我?我编辑了答案,注意onOrientationChanged和setRotation中的角度定义不同,因此代码看起来有点混乱。你可以看文件。