【发布时间】:2012-02-09 23:57:34
【问题描述】:
众所周知,difficult 在 WebView 中获取选定的文本,因为 WebView 文本选择实际上由私有类 WebTextView 处理。
然而,随着最近发布的Android 4.0 Design guidelines,似乎有一线希望通过上下文操作栏 (CAB) 实现这一目标。它says:
只要您允许用户通过长按选择数据,就可以使用 CAB。您可以控制 CAB 的操作内容,以便插入您希望用户能够执行的操作。
我误解了吗? 有没有办法通过 CAB 从 WebView 中检索选定的文本?
长按并开始文本选择模式后,我目前可以检测ActionMode何时启动并修改原始复制/粘贴Menu;但是,我不太清楚如何实际检索选定的文本。
【问题讨论】:
-
嘿@octopi,你能告诉我你是如何实际检测到 ActionMode 何时启动以及如何修改菜单的吗?我实现的是检测长按并自行启动 ActionMode,通过
ActionMode.Callback提供自定义栏,但不会显示文本选择光标。 -
@davids。不说选题,我也想知道怎么删改菜单。如果您不需要使用
ActionMode除了文本选择,我有一个非常难看的解决方法。我覆盖了活动中的public ActionMode onWindowStartingActionMode (ActionMode.Callback callback)。说return super.onWindowStartingActionMode(new MyActionModeCallback());。它工作并且光标不会消失。但是,我不知道这种解决方法会导致什么副作用。我能想到这不是系统要我们做的。 -
@Yeung 我也需要覆盖操作栏但需要选择句柄
-
@Octopi 你能分享一下你是如何修改原始复制/粘贴菜单的吗?
-
无法通过 Android 的 API 执行此操作。我们必须查看 Android Open Source Project 才能达到我们想要的效果。
标签: android webview android-actionbar android-4.0-ice-cream-sandwich