当用户触摸按钮时应播放声音。有很多按钮,每个按钮都有不同的声音。当用户在所有按钮上移动手指时,应播放所有声音。像钢琴应用程序之类的东西。我该怎么做?我尝试使用 ontouch lister,但它不起作用。
问问题
831 次
1 回答
1
在您的 onTouch 方法中,您应该捕获从用户 TouchDown 开始的不同事件,然后是 TouchMove,最后是 TouchUp。查找所有 x,y 坐标是否在您的按钮区域中,如果是,则播放声音。
确保当前按钮选择与前一个不同,否则,如果您的手指移动到同一个按钮上,这将触发同一个按钮的另一个事件,并且您在移动手指时会听到大量声音:
伪代码:
@Override
public boolean onTouch(View v, MotionEvent event) {
// TODO Auto-generated method stub
switch(event.getAction())
{
case MotionEvent.ACTION_UP: // stop here
break;
case MotionEvent.ACTION_DOWN: // start here
break;
case MotionEvent.ACTION_MOVE:
// See if new x y co-ordinates in your buttonRect area
// RectF [] buttonRect = new buttonRect[10] ;
for(int i = 0; i < 10; i++)
{
if( buttonRect[i].contains(event.getX(), event.getY()))
{
// if it's a new button found than previously touch, play a sound
// store the button number that's been tapped by user
}
}
break;
}
}
希望能帮助到你。
于 2013-10-18T22:08:17.607 回答