1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > Android : 模拟点击performClick()/模拟长按performLongClick()/模拟onTouch事件

Android : 模拟点击performClick()/模拟长按performLongClick()/模拟onTouch事件

时间:2018-08-26 10:26:38

相关推荐

Android : 模拟点击performClick()/模拟长按performLongClick()/模拟onTouch事件

参考

Android 模拟触摸动作MotionEvent事件

android MotionEvent.obtain模拟事件,自动触发

一、模拟点击事件:

mBtn1.performClick();

//模拟点击事件//mBtn1.performClick(); 需要定义setOnClickListener事件mBtn1.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {Log.e(TAG, "onClick: ===============>");}});

二、模拟长按事件

mBtn1.performLongClick();

//模拟长按事件//mBtn1.performLongClick();需要定义setOnLongClickListener事件mBtn1.setOnLongClickListener(new View.OnLongClickListener() {@Overridepublic boolean onLongClick(View v) {Log.e(TAG, "onLongClick: ===================>");return false;}});

三、模拟 onTouch 事件

performTouchEventClick(mBtn1, 0, 0);

//performTouchEventClick(mBtn1, 0, 0);需要定义setOnTouchListener事件mBtn1.setOnTouchListener(new View.OnTouchListener() {@SuppressLint("ClickableViewAccessibility")@Overridepublic boolean onTouch(View v, MotionEvent event) {switch (event.getAction()) {case MotionEvent.ACTION_DOWN:Log.e(TAG, "onTouch: =================>ACTION_DOWN");break;case MotionEvent.ACTION_UP:Log.e(TAG, "onTouch: =================>ACTION_UP");break;}return false;}});

private void performTouchEventClick(View view, float x, float y) {long downTime = SystemClock.uptimeMillis();MotionEvent downEvent = MotionEvent.obtain(downTime, downTime,MotionEvent.ACTION_DOWN,x, y, 0);downTime += 1000;MotionEvent upEvent = MotionEvent.obtain(downTime, downTime,MotionEvent.ACTION_UP,x, y, 0);view.dispatchTouchEvent(downEvent);view.dispatchTouchEvent(upEvent);downEvent.recycle();upEvent.recycle();}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。