问题域:基于Android WebView的ePub格式阅读器——
我们需要可通过 JavaScript 方法访问的文本高亮显示(即打开 em、关闭 em、保存它们并通过电子邮件发送等)
任何知道的人,如果我错了,请纠正我:在 WebView 上的文本选择期间——
基本上,我们得到了一个 TextView 叠加层(WebTextView),除了视觉上之外,它绝不会附加到底层 html 上(顺便说一句,将它全部对齐并使其无缝),我们在其上执行 TextSelectionActionMode 并提供 ClipboardManager结果...为了清楚起见,在此库存过程中的任何时候都没有实际选择带有 WebView 的实际 HTML,这就是 JavaScript 无法访问操作结果的原因。
因此,为了使这种行为在 3.1+ 中起作用,我有一些可能的计划来在 WebView 上实现我自己的选择——这是我想知道我是否看不到角落的部分:)—— -
1)捕获启动选择模式的长按的MOTION_DOWN,覆盖内置的TextSelection ActionMode(以提供客户品牌-我发现这样做的方式太糟糕了)观看拖动,捕获MOTION_UP位置,映射这些坐标到 WebView 上,并根据坐标进行选择(同时将文本与 ClipboardManager 捕获的文本进行比较)
2)创建我自己的“WebTextView”(整个工作大声笑)并且不那么-hackishly创建我自己的ActionMode并执行上述所有操作。
3) 使用股票选择过程生成的 MotionEvents 并以某种方式覆盖由此触发的股票 TextSelection ActionMode。
这些是我看到的选项,希望我对此的接近和挫败感使我对一个或两个更简单(读为内置)解决方案视而不见。
感谢你的宝贵时间。