我使用此Accelerometer指南进行Android屏幕移动。我对所有的计算以及x,y,z值的重要性感到困惑。 z = - .60表示什么?或者y = 8.4253?
最后,我想知道如何获取一个值,看看他们在屏幕上从左到右或在X轴上移动了多少,因为我想让屏幕上的位图/图像向左移动,如果屏幕向左倾斜/向左移动,如果屏幕向右倾斜,屏幕向右移动。
我不知道算法,也不知道这些值的含义,因此对这些信息的任何反馈或指导都是最有益的。
答案 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