在android中突出显示webview中选定的文本

在android中突出显示webview中选定的文本,android,webview,Android,Webview,我不熟悉android中的webview。我正在开发一个我想在webview中标记所选文本的应用程序 在这里,我想删除右侧菜单并更改“完成”菜单的文本,单击“完成”,我想在webview中用颜色(突出显示文本)标记文本 有人知道吗 请回复。等待有价值的回复。我不知道如何控制选择上下文操作栏。但是您可以阻止它显示,并用您自己的版本替换它。首先,创建一个扩展WebView的HighlightWebView类,并包括以下覆盖: @Override public android.view.Action

我不熟悉android中的webview。我正在开发一个我想在webview中标记所选文本的应用程序

在这里,我想删除右侧菜单并更改“完成”菜单的文本,单击“完成”,我想在webview中用颜色(突出显示文本)标记文本

有人知道吗


请回复。等待有价值的回复。

我不知道如何控制选择上下文操作栏。但是您可以阻止它显示,并用您自己的版本替换它。首先,创建一个扩展WebView的HighlightWebView类,并包括以下覆盖:

@Override
public android.view.ActionMode startActionMode(android.view.ActionMode.Callback callback) {
    // this will start a new, custom Contextual Action Mode, in which you can control
    // the menu options available.
    highlightActivity.startActionMode(highlighActionModeCallback);

    // this is to prevent the native text selection ActionMode
    return null;
}
您还需要创建HighlightActionModeCallback类。下面是实现ActionMode.Callback的类的一个非常基本的版本:

public class HighlightActionModeCallBack implements ActionMode.Callback {

    @Override
    public boolean onActionItemClicked(ActionMode mode, MenuItem item) {
        // TODO Auto-generated method stub
        return false;
    }

    @Override
    public boolean onCreateActionMode(ActionMode mode, Menu menu) {
        // TODO Auto-generated method stub
        mode.getMenuInflater().inflate(R.menu.highlight_menu, menu);
        return true;
    }

    @Override
    public void onDestroyActionMode(ActionMode mode) {
        // TODO Auto-generated method stub
    }

    @Override
    public boolean onPrepareActionMode(ActionMode mode, Menu menu) {
        // TODO Auto-generated method stub
        return false;
    }

} 

您还需要谷歌“上下文操作模式”和/或“上下文操作栏”以获取更多信息。

谢谢Mike。我试试这个。谢谢你的回复。嗨,迈克,它可以工作,但是刷卡事件与此功能冲突。你对此有什么解决办法吗?@mikejonesguy你能给我建议一些教程,在单击CAB中的“完成”按钮后,在WebView中永久突出显示文本。你如何突出显示多个段落?在我的例子中,当我突出显示同一段落中的文本时效果很好,但当我试图突出显示不同段落中的文本时,突出显示无法正常工作。它通过在选定文本之间添加间距来增加段落大小。