小编Dan*_*Dan的帖子

Android 3.x仅限WebView文本选择+ JavaScript

问题域:基于Android WebView的ePub格式阅读器 -

我们需要可以通过JavaScript方法访问的文本高亮(例如,打开它们,关闭它们,保存它们给它们发送电子邮件等)

知道的任何人,如果我错了,请纠正我:在WebView上选择文本时 -

基本上我们交给一个TextView覆盖(WebTextView),除了可视化之外没有附加到底层的html(很好地将它全部排成一行并使其无缝,顺便说一句),我们在其上执行TextSelectionActionMode并提供ClipboardManager结果......为了清楚起见,在此库存过程中,实际上并未实际选择带有WebView的实际HTML,这就是JavaScript无法访问操作结果的原因.

因此,为了使这种行为在3.1+中工作,我有一些可能的计划继续在WebView上实现我自己的选择 - 这是我想知道我是否看不到我的角落的部分:) - -

1)捕获MOTION_DOWN的长按,启动选择模式,覆盖内置的TextSelection ActionMode(以提供客户品牌 - 我发现这样做的方式是如此hackish它伤害)观看拖动,捕获MOTION_UP位置,映射这些coords到WebView上,并根据coords进行选择(同时将文本与ClipboardManager捕获的文本进行比较)

2)创建我自己的"WebTextView"(整个lotta工作大声笑),并且不那么 - hackishly创建我自己的ActionMode并完成上述所有操作.

3)使用股票选择过程生成的MotionEvents,并以某种方式覆盖由此触发的股票TextSelection ActionMode.

这些是我看到的选项,希望我对此的接近和挫败感使我对一个更简单(读内置)解决方案的看法变得模糊不清.

感谢你的宝贵时间.

javascript android textselection webview android-3.0-honeycomb

11
推荐指数
2
解决办法
6308
查看次数