#android #input #touch
#Android #ввод #сенсорный
Вопрос:
Я знаю, что натыкался на конкретное упоминание о максимальном количестве сенсорных входов, которые теоретически распознаются Android (аппаратные ограничения не выдерживают), но все гуглил и Гуглил без каких-либо ощутимых результатов.
Может ли кто-нибудь указать мне на официальный документ / спецификацию / блог / что-нибудь, в котором перечислены сенсорные возможности (в частности, максимальное количество входов) различных версий Android (Froyo, Gingerbread и т.д.)?
Спасибо за помощь,
Пол
Комментарии:
1. Я нигде не смог его найти, но смутно помню, что где-то читал, что их было пять. Фактическое количество может быть выше, но на самом деле, сможете ли вы разместить более 5 пальцев на 4-дюймовом экране?
2. Кстати, мой G2 со стандартным ПЗУ без рутирования ограничен 4.
Ответ №1:
Я не думаю, что существует ограничение ОС. Я думаю, это продиктовано аппаратным обеспечением.
Ответ №2:
Копаясь в источнике, и я думаю, что нашел окончательный ответ.
В MotionEvent.java класс выпущен с Froyo, количество поддерживаемых указателей, похоже, жестко запрограммировано как 5. Смотрите статическое значение, объявленное в строке 212 (с соответствующим комментарием), и как это значение используется при создании экземпляра объекта в строке 251.
Кстати, это ограничение, похоже, снято в исходном коде Gingerbread, поскольку массив указателей с определенным размером 5 был перемещен в массив, который определяется параметром, переданным в конструктор объектов, с МИНИМАЛЬНЫМ размером массива указателей, равным 5. Смотрите объявление статического значения в строке 309 (опять же, с соответствующим комментарием), а также методы constructor и get() в строках 352 и 358 соответственно.