求教:android 模拟器怎样模拟 长按 功能?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了求教:android 模拟器怎样模拟 长按 功能?相关的知识,希望对你有一定的参考价值。
android 模拟器怎样模拟 长按 功能?
参考技术A 不明白LZ的意思,模拟器的长按功能本来就自带有。。。 参考技术B canvas的 protected void keyRepeated(int keyCode)Android : 模拟点击performClick()/模拟长按performLongClick()/模拟onTouch事件
参考
android MotionEvent.obtain模拟事件,自动触发
一、模拟点击事件:
mBtn1.performClick();
//模拟点击事件
//mBtn1.performClick(); 需要定义setOnClickListener事件
mBtn1.setOnClickListener(new View.OnClickListener()
@Override
public void onClick(View v)
Log.e(TAG, "onClick: ===============>");
);
二、模拟长按事件
mBtn1.performLongClick();
//模拟长按事件
//mBtn1.performLongClick();需要定义setOnLongClickListener事件
mBtn1.setOnLongClickListener(new View.OnLongClickListener()
@Override
public 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")
@Override
public 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();
以上是关于求教:android 模拟器怎样模拟 长按 功能?的主要内容,如果未能解决你的问题,请参考以下文章
Android : 模拟点击performClick()/模拟长按performLongClick()/模拟onTouch事件
Android : 模拟点击performClick()/模拟长按performLongClick()/模拟onTouch事件