我知道我必须使用 OrientationListener 类来获取设备的角度。我想得到 -90° 和 90° 之间的角度。我不知道该怎么做。左图:90度,中图:0度,右图:-90度
 
 
 

代码
class OrientationListener implements SensorEventListener
{
    @Override
    public void onSensorChanged(SensorEvent event)
    {
        angle = Math.round(event.values[2]);
        if (angle < 0)
        {
            angle = angle * -1;
        }
    }
    @Override
    public void onAccuracyChanged(Sensor sensor, int accuracy)
    {
    }
}
您可以使用此代码来实现简单的 0、90、180 度。
Display display = ((WindowManager) context.getSystemService(Context.WINDOW_SERVICE)).getDefaultDisplay();
int 旋转 = display.getRotation();
Surface.ROTATION_0 为 0 度,Surface,ROTATION_90 为 90 度等。
如果您想要 0、90 等以外的度数,您还可以使用 SensorEventListener 接口:
@Override
public void onSensorChanged(SensorEvent event) {
    if (event.sensor.getType() == Sensor.TYPE_ACCELEROMETER) {
        float rawX = event.values[0];
    }
}
您需要使用此代码来获取学位:
double k = 90/9.8;
double degrees = rawX * k; // this is a rough estimate of degrees, converted from gravity
| 归档时间: | 
 | 
| 查看次数: | 3169 次 | 
| 最近记录: |