Как реализовать управление наклоном на устройстве Android - PullRequest
0 голосов
/ 05 ноября 2019

У меня есть требование, при котором я должен реализовать какой-либо контроль наклона на устройстве Android. Устройство поставляется со многими видами датчиков, в том числе акселерометр, гироскоп, .... Тип управления наклоном такой же, как в гоночных играх.

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

Я опробовал SensorManager, но не могу понять, как преобразовать значения XYZ в угол наклона.

Я надеюсь, что смогу объяснить свою проблему и буду очень признателен за любую помощь.

1 Ответ

0 голосов
/ 05 ноября 2019

Как вы сказали, вы должны использовать SensorManager.

Прежде всего, взгляните на документацию:

https://developer.android.com/reference/android/hardware/SensorEvent.html

в разделе значений, который у вас оченьподробное объяснение различных датчиков и их значения.

Вот подробный ответ о том, что вам нужно (вычислить угол):

https://stackoverflow.com/a/12098469/1264375

public void onSensorChanged(SensorEvent event) {
        if (event.sensor != mSensor)
            return;

        aX= event.values[0];
        aY= event.values[1];
        angle = Math.atan2(aX, aY)/(Math.PI/180);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...