如果方向设置为纵向,是否仍可以检测方向更改?

时间:2015-11-01 00:10:35

标签: android animation button sensor screen-orientation

我正在尝试使用OrientationEventListener检测设备方向更改,因此我可以使某些按钮随设备方向旋转,而布局设置为纵向。我想知道用SensorEventListener做这个更好的想法,但是我无法弄清楚如何做到这一点,因为我之前从未使用过传感器。有没有办法做到这一点?

1 个答案:

答案 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();