Android 安卓中的onPress/onRelease

Android 安卓中的onPress/onRelease,android,Android,有没有类似于flash的android按钮的onPress和onRelease 是的。您必须使用OnTouchListener,而不是onClickListener 看看android文档,如果你想收听down并发布,你特别想要onTouch。如果您这样做只是为了改变按钮的外观,那么还有其他方法可以在按钮中使用来处理此问题。尝试以下方法: someView.setOnTouchListener(new View.OnTouchListener() { @Override

有没有类似于flash的android按钮的onPress和onRelease

是的。您必须使用OnTouchListener,而不是onClickListener

看看android文档,如果你想收听down并发布,你特别想要onTouch。如果您这样做只是为了改变按钮的外观,那么还有其他方法可以在按钮中使用来处理此问题。

尝试以下方法:

    someView.setOnTouchListener(new View.OnTouchListener() {
        @Override
        public boolean onTouch(View arg0, MotionEvent arg1) {
            if (arg1.getAction()==MotionEvent.ACTION_DOWN)
                runEnemy(); 
            else
                stopEnemy();
            return true;
        }
    });

arg1.getAction()==0这是一个简单的动作

已经太晚了,但也许有人会发现它很有用:

mButton.setOnTouchListener(new OnTouchListener()
        {

            @Override
            public boolean onTouch(View v, MotionEvent event)
            {
                if (event.getAction() == MotionEvent.ACTION_DOWN)
                    Log.d("Pressed", "Button pressed");
                else if (event.getAction() == MotionEvent.ACTION_UP)

                 Log.d("Released", "Button released");
                // TODO Auto-generated method stub
                return false;
            }
        });

您可以更改
mButton
,什么是您的。您可以在
if
else if

mButton.setOnTouchListener(new OnTouchListener()
    {

        @Override
        public boolean onTouch(View v, MotionEvent event)
        {
            if (event.getAction() == MotionEvent.ACTION_DOWN)
                Log.d("Pressed", "Button pressed");
            else if (event.getAction() == MotionEvent.ACTION_UP)

             Log.d("Released", "Button released");
            // TODO Auto-generated method stub
            return false;
        }
    });
这是我这边的代码:

// butona basınca bir ses çekince bir ses geliyor.
    sescal.setOnTouchListener(new OnTouchListener()
    {

        @Override
        public boolean onTouch(View v, MotionEvent event)
        {
            if (event.getAction() == MotionEvent.ACTION_DOWN)
            { 

                Log.d("Pressed", "Button pressed");
                mp.start();
            }
            else if (event.getAction() == MotionEvent.ACTION_UP)
            {

                Log.d("Released", "Button released");
                mp2.start();
            }
            // TODO Auto-generated method stub
            return false;
        }
    });

如果您实现了
KeyboardView.OnKeyboardActionListener
,那么您将可以访问
onPress()
onRelease()
@IgorGanapolsky,这是一个5年前的问题……取决于您的看法:。但实际上按钮本身并不是这样。