gpt4 book ai didi

android - 如何在android中覆盖网页 View 文本选择菜单

转载 作者:IT老高 更新时间:2023-10-28 23:34:10 25 4
gpt4 key购买 nike

基本的 android 网络文本选择菜单如下图所示。它具有复制、共享、全选、网络搜索等选项。

enter image description here

我想超越这个菜单,并将它们作为我自己的菜单列表,如“标记颜色”、“标记为小鬼”等。我查看了有关堆栈溢出上下文菜单的大多数可用问题。大部分问题与上下文菜单有关,但没有按预期给出结果。我想要下图所示的菜单

enter image description here

当我执行选择时,android 监视器会显示一些 View 创建表单 viewRoot,例如

D/ViewRootImpl: #1 mView = android.widget.PopupWindow$PopupDecorView{648898f V.E...... ......I. 0,0-0,0}
D/ViewRootImpl: #1 mView = android.widget.PopupWindow$PopupDecorView{a66541c V.E...... ......I. 0,0-0,0}
D/ViewRootImpl: MSG_RESIZED_REPORT: ci=Rect(0, 0 - 0, 0) vi=Rect(0, 0 - 0, 0) or=1
D/ViewRootImpl: MSG_RESIZED_REPORT: ci=Rect(0, 0 - 0, 0) vi=Rect(0, 0 - 0, 0) or=1

如何实现这样的实现?

我也经历过https://github.com/naoak/WebViewMarker但没有得到正确的结果。

我已经做了什么?

我扩展了 android 的 WebView,我想支持最低 SDK 19。当我执行长按时,我得到了长按事件,但我无法获得这样的菜单创建 api 调用。

最佳答案

您需要覆盖 Activity 的操作菜单

您可以阅读更多信息:https://developer.android.com/guide/topics/ui/menus.html

如何覆盖:

@Override
public void onActionModeStarted(android.view.ActionMode mode) {
mode.getMenu().clear();
Menu menus = mode.getMenu();
mode.getMenuInflater().inflate(R.menu.highlight,menus);
super.onActionModeStarted(mode);
}

高亮

    <?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@+id/impclick"
android:title="Mark As Important"
/>
<item android:id="@+id/colorclick"
android:title="Mark with color" />
</menu>

关于android - 如何在android中覆盖网页 View 文本选择菜单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46176395/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com