我正在开发一个应用程序,我可以同时按下2个按钮。我的手机有Android 2.3.7(Gingerbread API 10)。我一直在寻找信息,我发现我可以检查我的手机是否可以使用PackageManager完全独立地跟踪两根手指:
PackageManager pm = getPackageManager();
if (pm.hasSystemFeature(PackageManager.FEATURE_TOUCHSCREEN_MULTITOUCH_DISTINCT))
ShowToast("Distinct: Yes", Toast.LENGTH_LONG);
else
ShowToast("Distinct: No", Toast.LENGTH_LONG);
这段代码告诉我没有。我的手机没有系统功能FEATURE_TOUCHSCREEN_MULTITOUCH_DISTINCT。但是在我的手机中尝试“测试你的Android”应用程序我看到我的手机是,可以。在我的手机中,我可以执行类似这样的照片:https://lh4.ggpht.com/SERDbt6S4Iz4sdWMCJqlpcN2ZSJm4nBleXVSHFB9KIdphDCldhW9-LoPxInFPeky2g4=h900 另外,我测试了一些可以同时触摸2个按钮的应用程序。 问题是:我可以为手机做一些事情,一次识别2个按键,或者可以同时识别两个按键吗?
我在这里作为最后的手段问,因为我已经搜索了这个解决方案好几天了。
答案 0 :(得分:0)
您可以在Android中跟踪两个或更多手指(并根据您的图像,您的手机支持它),您可以获得此触摸发生位置的屏幕坐标。触摸生成一个MotionEvent,从中您可以获得触摸的坐标。
要知道有多少手指触摸屏幕,请使用:
@Override
public boolean onTouchEvent(MotionEvent ev) {
int count= ev.getPointerCount();
此外,要过滤MotionEvents以仅捕获按下手势,您可以使用MotionEvent.DOWN 在onTouchEvent()
中case MotionEvent.ACTION_DOWN:
//do something with the touch
http://developer.android.com/reference/android/view/MotionEvent.html#ACTION_DOWN
这些答案向您展示了捕获和使用MotionEvent的代码,并提供了指向教程的链接:
multiple-finger-input-for-android-development
我希望这就是你所要求的