我制作了一个简单的电话垫,数字0-9,拨号等。我使用过图像按钮。然后我尝试了onclick。
onclick的问题是,当您停止按下按钮时,它会激活,而不是在您实际按下按钮时激活。我知道这是一件小事,但从用户的角度来看,它似乎很奇怪。
所以我尝试使用actiondown和imagebuttons进行ontouch,但是多个ontouch不起作用,所以我添加了多点触控。现在第二个或第三个按钮使第一个按钮重新激活,而不是按下激活的按钮。如何使用带图像按钮和多点触控或类似功能的标准手机垫?
ImageButton ibone = (ImageButton) findViewById(R.id.imageButton1);
ibone.setSoundEffectsEnabled(false);
ibone.setOnTouchListener(new View.OnTouchListener() {
public boolean onTouch(View v, MotionEvent event) {
int tempy = event.getActionMasked();
if (tempy == 0 || tempy == 5) { // if an action down primary or secondary touch has occurred then...
// DO STUFF
}
return false;
}
PS我试过
return true;
同样的效果
对不起,我真的根本不懂多点触控实现。
答案 0 :(得分:0)
为什么需要多点触控?无论您是否使用多点触控,每次点击视图时都会触发setOnTouchListener ......
试试这个:
ImageButton ibone = (ImageButton) findViewById(R.id.imageButton1);
ibone.setSoundEffectsEnabled(false);
ibone.setOnTouchListener(new View.OnTouchListener() {
public boolean onTouch(View v, MotionEvent event)
{
switch ( event.getAction() ) {
case MotionEvent.ACTION_DOWN:
---DO STUFF---
break;
case MotionEvent.ACTION_UP: break;
}
return false; //<--Should be false for your case (I think)
}
}
答案 1 :(得分:0)
答案/教程位于:http://www.passsy.de/multitouch-for-all-views/#comment-47486
这包括您可能需要的大部分内容。