Система координат датчика в Android не меняется, не так ли? - PullRequest
4 голосов
/ 15 февраля 2012

Я читаю во многих местах, таких как: Один экран заслуживает другого , что: «Система координат датчика, используемая API для естественной ориентации устройства, не изменяется при перемещении устройства и остается неизменной.как система координат OpenGL. "

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

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

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

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

1 Ответ

2 голосов
/ 16 июля 2013

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

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

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

...