public void onSensorChanged(SensorEvent event) {if (event.sensor.getType() != Sensor.TYPE_ORIENTATION|| event.values.length < 3)return;long currentTime = System.currentTimeMillis();if ((currentTime - lastUpdate) > 100) {long diffTime = (currentTime - lastUpdate);lastUpdate = currentTime;float x = event.values[SensorManager.DATA_X];float y = event.values[SensorManager.DATA_Y];float z = event.values[SensorManager.DATA_Z];}}


x<0 x>0
^
|
+-----------+--> y>0
| |
| |
| |
| | / z<0
| | /
| | /
O-----------+/
|[] [ ] []/
+----------/+ y<0
/
/
|/ z>0 (toward the sky)

O: Origin (x=0,y=0,z=0)


手机放水平了,
屏幕左方向下倾斜 event.values[SensorManager.DATA_Z] 大于0

屏幕上方向下倾斜 event.values[SensorManager.DATA_Y] 大于0

就算Android的屏幕变成横幅时,上面规则一样适用。 只不过这时屏幕左方是短的一测。


event.values[SensorManager.DATA_X]是屏幕水平,然后东南西北转的时候变化的。
0=North, 90=East, 180=South, 270=West

更多相关文章

  1. android 获取和设置屏幕亮度
  2. android 屏幕方向总结
  3. android获取设备屏幕大小的方法
  4. android唤醒屏幕/保持屏幕唤醒
  5. Android屏幕休眠和唤醒
  6. Android 屏幕截图 代码
  7. Android触控屏幕Gesture(GestureDetector和SimpleOnGestureListe
  8. Android保持屏幕常亮的方法总结

随机推荐

  1. android异常 More than one file was fou
  2. Andorid adb 命令
  3. 关于Android API,你所不知道的
  4. 一分钟解决Android 安卓 API版本兼容
  5. Android activity 参数传递
  6. ReactNative调用原生封装的代码和控件
  7. Android: 打印Bundle内容
  8. Android开发人员不得不收集的代码(持续更
  9. Android(安卓)各版本新特性介绍
  10. android 根据res文件夹下(如res/raw)文件