【发布时间】:2011-10-20 09:04:48
【问题描述】:
问题领域:基于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。
这些是我看到的选项,希望是我的接近和挫败感 有了这个让我看不到一个更简单的(读为内置的) 解决方案或两个。
再次感谢您的宝贵时间。
【问题讨论】:
标签: javascript android webview android-3.0-honeycomb textselection