Android开发中的按钮控件,有没有个按下事件、抬起事件?
展开全部
button.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View view, MotionEvent motionEvent) {
//按下操作
if(motionEvent.getAction()==MotionEvent.ACTION_UP){
}
//抬起操作
if(motionEvent.getAction()==MotionEvent.ACTION_UP){
}
//移动操作
if(motionEvent.getAction()==MotionEvent.ACTION_MOVE){
}
return false;
}
});
追问
这3个事件机制是按钮控件上的么?
追答
不一定非得是Button,可以是任意View。Button、TextView、ImageView甚至LinearLayout之类的都行。
如果是activity的触发事件,就要重写onTouchEvent(MotionEvent ev),也就是ZHOU452840622写的那样
展开全部
@Override
public boolean onTouchEvent(MotionEvent ev) {
int action = ev.getAction();
switch (action) {
case MotionEvent.ACTION_DOWN://按下
Log.d(TAG, "---onTouchEvent action:ACTION_DOWN");
break;
case MotionEvent.ACTION_MOVE://移动
Log.d(TAG, "---onTouchEvent action:ACTION_MOVE");
break;
case MotionEvent.ACTION_UP://抬起
Log.d(TAG, "---onTouchEvent action:ACTION_UP");
break;
case MotionEvent.ACTION_CANCEL:
Log.d(TAG, "---onTouchEvent action:ACTION_CANCEL");
break;
}
public boolean onTouchEvent(MotionEvent ev) {
int action = ev.getAction();
switch (action) {
case MotionEvent.ACTION_DOWN://按下
Log.d(TAG, "---onTouchEvent action:ACTION_DOWN");
break;
case MotionEvent.ACTION_MOVE://移动
Log.d(TAG, "---onTouchEvent action:ACTION_MOVE");
break;
case MotionEvent.ACTION_UP://抬起
Log.d(TAG, "---onTouchEvent action:ACTION_UP");
break;
case MotionEvent.ACTION_CANCEL:
Log.d(TAG, "---onTouchEvent action:ACTION_CANCEL");
break;
}
追问
还有移动?这个不是按钮控件的事件响应吧?
追答
触摸屏幕触发的 但是按下和抬起是有的 我原来监听过
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询