[英]Touch more one button at once
您好我的应用程序就像Drum Studio。 我需要支持一次触摸更多一个按钮。 例如:用户触摸按钮1(并按住它!)它播放声音,但用户仍然按住它,用户单击另一个按钮,它也播放声音。 如何编程? 默认情况下onTouch或onClick使用,如果按下1按钮,则在未释放按钮之前,其他按钮不会作出反应。
使用onKeyDown()事件触发每个响应和onKeyUp()事件来完成它们。
http://developer.android.com/reference/android/view/KeyEvent.html
http://developer.android.com/reference/android/view/KeyEvent.Callback.html
对于触摸,您可以使用OnTouchListener
http://developer.android.com/reference/android/view/View.OnTouchListener.html
并确定MotionEvent的触摸类型:
http://developer.android.com/reference/android/view/MotionEvent.html
为了澄清我的回答:要发出声音,同时保持一个按钮,就可以在启动的声音ACTION_DOWN
在动作MotionEvent
事件被触发,并与阻止它ACTION_UP
同一事件的行动。
即使您的设备支持多点触控,也无法同时触摸两个单独的视图。 如果首先触摸Button1,则所有后续MotionEvent(包括具有单独指针ID的MotionEvent)都绑定到该视图。
除非您使用像AndEngine这样内置此类功能的专用游戏引擎,否则您唯一的选择就是自己捕获所有MotionEvent(最容易使用覆盖整个屏幕的空ImageView)并将它们路由到相应的基于视图的视图。在他们的屏幕坐标上。 这可能会变得棘手,特别是对于多个触摸指针,但Android UI框架本身并不支持您需要的那种多点触控。
您肯定希望使用Android 2.0或更高版本 - 以前的版本不支持多点触控。
检查onTouch中的pid - 0是单触,1是第二个。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.