制作手机垫

时间:2013-06-06 15:00:40

标签: android multi-touch

我制作了一个简单的电话垫,数字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;

同样的效果

对不起,我真的根本不懂多点触控实现。

2 个答案:

答案 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

这包括您可能需要的大部分内容。