【发布时间】:2013-04-10 15:52:39
【问题描述】:
我想让 3 个按钮一次可触摸,这样您就可以触摸一个按钮而无需从另一个按钮上移开手指。到目前为止,我按以下顺序使用 ACTION_DOWN、ACTION_POINTER_1_DOWN 和 ACTION_POINTER_2_DOWN:
public boolean onTouch(final View v, final MotionEvent event) {
if (event.getAction() == MotionEvent.ACTION_DOWN) {
switch (v.getId()) {
case R.id.button1:
{ playSound(SOUND1, 1.0f) ;};
break;
case R.id.button2:
{ playSound(SOUND2, 1.0f) ;};
break;
case R.id.button3:
{ playSound(SOUND3, 1.0f) ;};
break;}
} else if (event.getAction() == MotionEvent.ACTION_POINTER_1_DOWN) {
switch (v.getId()) {
case R.id.button1:
{ playSound(SOUND1, 1.0f) ;};
break;
case R.id.button2:
{ playSound(SOUND2, 1.0f) ;};
break;
case R.id.button3:
{ playSound(SOUND3, 1.0f) ;};
break;}
} else if (event.getAction() == MotionEvent.ACTION_POINTER_2_DOWN) {
switch (v.getId()) {
case R.id.button1:
{ playSound(SOUND1, 1.0f) ;};
break;
case R.id.button2:
{ playSound(SOUND2, 1.0f) ;};
break;
case R.id.button3:
{ playSound(SOUND3, 1.0f) ;};
break;}
如果我在手机上编译和运行这个项目,没有错误或警告。
但是当我进行第二次触摸时,会播放与第一次相同的声音。 示例:手指 2 按下按钮 2(声音 2 播放)。将手指 2 放在按钮 2 上时,我用手指 3 触摸按钮 3。我预计,声音 3 正在播放,但声音 2 再次播放。
我已经尝试过“return true”,但这并没有改变任何东西。
一些人也有这个问题,但没有人真正在这些线程中找到解决方案。
亚历克斯
更新:我刚刚发现点击的位置并不重要。即使我点击空白区域,另一根手指所在的按钮也会再次做出反应
【问题讨论】:
标签: android button multi-touch