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