我正在尝试使用OrientationEventListener检测设备方向更改,因此我可以使某些按钮随设备方向旋转,而布局设置为纵向。我想知道用SensorEventListener做这个更好的想法,但是我无法弄清楚如何做到这一点,因为我之前从未使用过传感器。有没有办法做到这一点?
答案 0 :(得分:4)
OrientationEventListener是正确的方法。为什么你认为SensorEventListener更好?
做这样的事情:
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();