java - 如何在 HarmonyOS 中检测自定义组件中的双击?

标签 java android huawei-mobile-services huawei-developers harmonyos

我正在使用 Java SDK 在 HarmonyOS 中创建一个自定义组件,我必须在其中双击执行一些任务。但我无法检测到双击事件。
在 Android 中,借助 手势检测器 类我们可以检测双击事件如下:

GestureDetector gestureDetector = new GestureDetector(context, new GestureDetector.SimpleOnGestureListener(){
            @Override
            public boolean onSingleTapConfirmed(MotionEvent e) {
                return super.onSingleTapConfirmed(e);
            }

            @Override
            public boolean onDoubleTap(MotionEvent e) {
                return super.onDoubleTap(e);
            }
        });
在 HMOS 中,我尝试使用 检测双击。组件.TouchEventListener 如下:
Component.TouchEventListener touchEventListener = new TouchEventListener() {
            @Override
            public boolean onTouchEvent(Component component, TouchEvent touchEvent) {
                if(touchEvent.getPointerCount() == 1) {
                    LogUtil.info(TAG, "single click detected");
                }

                if(touchEvent.getPointerCount() == 2) {
                    LogUtil.info(TAG, "double click detected");
                }
                return false;
            }
        };
但是,它没有检测到双击。双击它也打印了检测到单击 .

最佳答案

尝试注册Component.DoubleClickedListener并且您将能够检测到自定义组件中的双击,示例用法

    customComponent.setDoubleClickedListener(new Component.DoubleClickedListener() {
                @Override
                public void onDoubleClick(Component component) {
                    LogUtil.info(TAG, "double click detected");
                }
            });

关于java - 如何在 HarmonyOS 中检测自定义组件中的双击?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69086228/

相关文章:

android - 如何在华为应用程序库上发布应用程序进行测试

android - onTaskRemoved() 在华为和小米设备中没有被调用

Java 数组存储值

java - Gradle-编译多个项目,但未找到共享的项目类

java - 使用带有不同类内部代码的按钮

android - android 上的远程 akka Actor ?

android - Robolectric 4.3.1 失败并显示消息 : Android 29 requires Java 9 (have Java 1)

android - 华为机器学习套件下载模型时出现异常

java - 二进制搜索静态方法遇到问题无法引用

Java:从磁盘写入/读取 map