gpt4 book ai didi

android - 如何以度数获取 Android 设备的物理方向。

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:01:28 26 4
gpt4 key购买 nike

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

90 degree 0 degree -90 degree

代码

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 rotation = display.getRotation();

Surface.ROTATION_0 为 0 度,Surface,ROTATION_90 为 90 度等

如果您想要的度数不是 0、90 等,您也可以使用 SensorEventListener 接口(interface):

@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

关于android - 如何以度数获取 Android 设备的物理方向。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22456024/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com