【问题标题】:How to show right-click context menu in WebView of Android app on Chromebook如何在 Chromebook 上的 Android 应用程序的 WebView 中显示右键单击上下文菜单
【发布时间】:2019-06-23 02:35:26
【问题描述】:

我正在开发一个带有 WebView 的 Android 应用程序,它显示了各种内容。当我用手指长按(触摸较长时间)一些文本时,会弹出一个标准(水平)Android 上下文菜单。但是,当我在同一个 WebView 中用鼠标或触摸板右键单击时,不会显示上下文菜单 - 是否选择了某些文本并不重要。

我已经尝试过很多解决方案,甚至在右键单击时也不会调用setOnContextClickListener(如图所示here)的回调(但是会调用通用运动事件回调),所以它似乎在 WebViews 中根本不支持。

最后,我似乎不得不创建自己的上下文菜单。我只是想知道是否没有任何必须以某种方式启用的标准。

我想要的是类似于垂直的EditText 右键单击​​上下文菜单,但是右键单击时我无法显示两者中的任何一个。水平和垂直菜单均显示为here

我正在 HP Chromebook x360 11 G1 EE 上进行测试,如果这有什么不同的话。

【问题讨论】:

    标签: android android-webview chromebook


    【解决方案1】:

    您可以在WebViewoverride onTouchEvent(MotionEvent event) 并检测event.getButtonState() 以查看单击了哪个按钮。

        switch (event.getButtonState()) {
            case MotionEvent.BUTTON_PRIMARY:
                onMouseClickListener.onLeftClick();
                break;
    
            case MotionEvent.BUTTON_SECONDARY:
                onMouseClickListener.onRightClick();
                break;
        }
    

    请注意,onMouseClickListener 是此事件的自定义侦听器。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-09-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-05-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多