Android - Обнаружение сенсорного давления на емкостном сенсорном экране?

Я слышал о:

MotionEvent e;
float press = e.getPressure(...);

Но это возвращает только 0 без прикосновения и 1, когда мой палец касается экрана.

Можно ли найти значение величины давления, которое ваш палец оказывает на экран с помощью сенсорных емкостных экранов?

Или моя догадка верна, что это будет работать только с резистивными экранами?

1 ответ

Решение

MotionEvent().getPressure(i) должен возвращать значение от 0 до 1 в зависимости от "давления", размещенного на экране. В действительности для емкостных экранов это размер емкостного объекта, а не буквальное давление, но концепция практически одинакова для пальцев (пальцы мягкие). Диапазоны выше единицы могут быть возвращены в зависимости от калибровки сенсорного экрана.

Если ваш экран возвращает только 0 или 1, попробуйте выполнить тестирование на другом устройстве. Возможно, ваш экранный драйвер просто не возвращает эти значения.

MotionEvent | Разработчики Android: getPressure()

Другие вопросы по тегам