Android сенсорный ввод: координаты? - PullRequest
1 голос
/ 13 июня 2011

Я новичок в Android и у меня есть вопрос, касающийся сенсорного ввода (используя OnTouchUp / Down / Move).Какую систему координат использует Android?Я получаю значения в диапазоне от 0,0 (верхний левый) до 320,530 (нижний правый) угол.Эмулятор, который я выбрал, имеет разрешение 480х800 ... так что это не имеет никакого смысла ...

Можете ли вы дать мне подсказку?Спасибо!

Ответы [ 2 ]

3 голосов
/ 13 июня 2011

Это происходит потому, что вы не указали, что ваше приложение может обрабатывать экраны с различной плотностью. Вот почему Android автоматически масштабирует все, но приложение работает с воображаемым экраном, а не с реальным.

Чтобы все выглядело как есть, вам нужно либо указать android:anyDensity="true" в AndroidManifest.xml, либо установить minSdkVersion или targetSdkVersion в «4» или выше. Последнее автоматически заставит Android предположить, что для android:anyDensity установлено значение "true".

Подробнее о проблемах с экраном вы можете прочитать в статье Поддержка нескольких экранов .

0 голосов
/ 13 июня 2011

Цитировать со связанной страницы:

Плотно-независимый пиксель (dp)
Виртуальный пиксельный блок, который вы должны использовать при определении макета пользовательского интерфейса, чтобы выразить размеры или положение макета внезависимый от плотности способ.
независимый от плотности пиксель эквивалентен одному физическому пикселю на экране с разрешением 160 точек на дюйм, который является базовой плотностью, принятой системой для экрана «средней» плотности.Во время выполнения система прозрачно обрабатывает любое масштабирование единиц измерения dp по мере необходимости на основе фактической плотности используемого экрана.Преобразование единиц dp в пиксели экрана очень просто: px = dp * (dpi / 160).Например, на экране с разрешением 240 dpi 1 dp равен 1,5 физических пикселей.Вы должны всегда использовать единицы измерения dp при определении пользовательского интерфейса вашего приложения, чтобы обеспечить правильное отображение вашего пользовательского интерфейса на экранах с различной плотностью.

...