sda*_*bet 78
你可以使用onTouchListener:
view.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
switch(event.getAction()) {
case MotionEvent.ACTION_DOWN:
// PRESSED
return true; // if you want to handle the touch event
case MotionEvent.ACTION_UP:
// RELEASED
return true; // if you want to handle the touch event
}
return false;
}
});
Run Code Online (Sandbox Code Playgroud)
fiddler给出的答案对于通用视图是正确的.
对于a Button,您应该始终false从触摸处理程序返回:
button.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
switch(event.getAction()) {
case MotionEvent.ACTION_DOWN:
// PRESSED
break;
case MotionEvent.ACTION_UP:
case MotionEvent.ACTION_CANCEL:
// RELEASED
break;
}
return false;
}
});
Run Code Online (Sandbox Code Playgroud)
如果你返回,true你将绕过按钮的常规触摸处理.这意味着您将失去按下按钮和触摸波纹的视觉效果.此外,Button#isPressed()将false在按钮实际按下时返回.
按钮的常规触摸处理将确保您即使在返回时也能获得后续事件false.
| 归档时间: |
|
| 查看次数: |
30385 次 |
| 最近记录: |