如何使用Android的Accelerometer

时间:2015-10-14 01:10:46

标签: java android accelerometer gyroscope

我使用此Accelerometer指南进行Android屏幕移动。我对所有的计算以及x,y,z值的重要性感到困惑。 z = - .60表示什么?或者y = 8.4253?

最后,我想知道如何获取一个值,看看他们在屏幕上从左到右或在X轴上移动了多少,因为我想让屏幕上的位图/图像向左移动,如果屏幕向左倾斜/向左移动,如果屏幕向右倾斜,屏幕向右移动。

我不知道算法,也不知道这些值的含义,因此对这些信息的任何反馈或指导都是最有益的。

1 个答案:

答案 0 :(得分:1)

您的活动可以实施SensorEventListener,覆盖onSensorChanged(SensorEvent event),如下所示:

public void onSensorChanged(SensorEvent event) {
    float x = event.values[0];
    float y = event.values[1];
    if (Math.abs(x) > Math.abs(y)) {
        if (x < 0) {
            image.setImageResource(R.drawable.right);
            textView.setText("You tilt the device right");
        }
        if (x > 0) {
            image.setImageResource(R.drawable.left);
            textView.setText("You tilt the device left");
        }
    } else {
        if (y < 0) {
            image.setImageResource(R.drawable.up);
            textView.setText("You tilt the device up");
        }
        if (y > 0) {
            image.setImageResource(R.drawable.down);
            textView.setText("You tilt the device down");
        }
    }
    if (x > (-2) && x < (2) && y > (-2) && y < (2)) {
        image.setImageResource(R.drawable.center);
        textView.setText("Not tilt device");
    }
}

更多详细信息,请参阅我的完整帖子:http://www.devexchanges.info/2015/05/detecting-tilt-device-by-using-sensor.html