2011-06-13 122 views
1

我是Android的新手,并且有重新编写触摸输入的问题(使用OnTouchUp/Down/Move)。 Android使用什么坐标系?我得到的值从0,0(左上角)到320,530(右下角)。我选择的模拟器的分辨率为480x800 ...所以没有任何意义...Android触摸输入:坐标?

你能给我一个提示吗? 谢谢!

回答

3

发生这种情况是因为您尚未指定应用程序可以处理不同密度的屏幕。这就是为什么Android会自动扩展所有功能的原因,但是应用程序可以在虚拟屏幕上运行,而不是真正的屏幕。

要让事情看起来像样,您必须在AndroidManifest.xml中指定android:anyDensity="true",或将minSdkVersiontargetSdkVersion设置为“4”或更高。后者会自动让Android假设android:anyDensity设置为“true”。

您可以在文章Supporting Multiple Screens中阅读有关屏幕相关问题的更多信息。

0

要从链接的页面引用:

密度独立像素(DP)
定义UI布局时应该使用 ,来表达一个 布局尺寸或位置的虚拟像素单元密度无关的方式。
与密度无关的像素为 ,相当于160dpi屏幕上的一个物理像素,这是系统为 “中等”密度屏幕假设的基线密度。在运行时,系统根据所使用的屏幕的实际密度,透明地处理dp单元的任何 缩放比例(如有必要), 。单位到屏幕像素的转换很简单:px = dp *(dpi/160)。例如,在一个 240 dpi屏幕上,1个dp等于1.5个物理像素。定义 应用程序的用户界面时,应始终使用 dp单位,以确保在具有不同密度的屏幕上显示您的用户界面正确 。