2012-02-15 6 views
4

Я читал во многих местах, как: One Screen Deserves Another, что: «Система координат датчика, используемая API для естественной ориентации устройства, не изменяется по мере движения устройства и такая же, как система координат OpenGL».Система координат датчика в Android не меняется, не так ли?

Теперь я получаю такое же чтение, как это изображение: enter image description here

То, что я не понимаю: Если система координат не изменится, если я повернуть телефон (всегда с экрана лицом к пользователь), сила тяжести должна применяться на оси Y, всегда. Он должен менять ось только в том случае, если я помещаю телефон в положение, когда экран больше не обращен к пользователю, как отдых на столе, где гравитация должна применяться на оси Z.

Что не так с моим пониманием?

Спасибо! Гильермо.

ответ

2

Ось заменяется при изменении ориентации экрана устройства. За указанную статью:

Однако API-интерфейсы датчиков Android определяют координатное пространство датчика относительно верхней и боковой стороны устройства - а не короткие и длинные стороны. Когда система переориентирует экран в ответ на удержание телефона в боковом направлении, система координат датчика больше не выравнивается с системой координат экрана, и вы получаете неожиданные вращения на дисплее вашего приложения.

Чтобы получить доступ к значениям без подзарядки, если хотите, используйте индексы 3, 4 и 5 в значениях [], в противном случае некоторые из предложений, упомянутых в этой же статье, работают очень хорошо!