我一直在网上搜索,但我找不到答案。我有一个按钮,当你按下它时,它会发出声音。问题是,当您触摸屏幕上的按钮时,只有在释放按钮后才会转到onClickListener()
。我需要它在按下按钮时运行监听器,而不是在它被释放时运行,因为这会在播放声音时造成延迟。我试过onTouchListener()
并且它也不起作用,因为每次我将手指移到按钮上时都会播放声音。我试过onKeyDown()
,但它不适用于屏幕按钮。有任何想法吗?一些帮助将不胜感激。
由于
答案 0 :(得分:2)
您可以使用OnTouchListener并测试事件操作:
public boolean onTouch (View v, MotionEvent event) {
if (event.getAction () == MotionEvent.ACTION_DOWN) { // ...
}
}
答案 1 :(得分:0)
也许您仍然可以将您的实施用于onTouchListener()
。只需为用户开始触摸按钮时设置一个布尔标志,然后设置为true(意味着用户尚未释放按钮)不播放声音。当用户释放按钮(ACTION_UP)时,将标志设置为false。这意味着你已经准备好再次播放声音了。