求教:android 模拟器怎样模拟 长按 功能?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了求教:android 模拟器怎样模拟 长按 功能?相关的知识,希望对你有一定的参考价值。

android 模拟器怎样模拟 长按 功能?

参考技术A 不明白LZ的意思,模拟器的长按功能本来就自带有。。。 参考技术B canvas的 protected void keyRepeated(int keyCode)

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

参考

Android 模拟触摸动作MotionEvent事件

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事件

Android测试随笔模拟长按电源键

怎样高速启动Android模拟器(Android Emulator)

模拟长按电源键

求教Android去掉虚拟按键全屏显示的方法