Android:长按时突出显示段落中的句子

标签 android highlight textselection

我知道我们可以让 textView 可以点击。当有人在 WebView 上打开一篇新闻文章并长按段落中的一个句子时,我想让用户有机会突出显示它以供将来引用或添加评论。为此,当网站加载时,我应该将段落中的每个句子存储在哪里?我应该为每个句子使用 textviews 并调用 OnLongClickListener() 吗?

tv.setOnLongClickListener(new OnLongClickListener(){

    public boolean onLongClick(View v) {
        // what to do here?
    }
});

如果有任何提示,我将不胜感激!感谢您的帮助。

最佳答案

可以有多种方法来实现这种突出显示。这取决于你的选择——你是想显示一个对话框来做某事,还是显示一个小 fragment 或其他任何东西。但是要突出显示文本,您可以使用 XML 标记- 机器人:文本颜色高亮。

在 Java 端访问它- textView1.setHighlightColor(Color_Goes_Here);

要进一步阅读,请参阅文档- https://developer.android.com/reference/android/widget/TextView.html#setHighlightColor(int)

编辑:问题的澄清

只是为了确定 - 您只需要突出显示功能,或者您需要帮助创建用户选择文本时出现的弹出窗口。据我现在的了解,您应该看看 registerForContextMenu。

注册你的 TextView 使用 registerForContextMenu(_TextView_Goes_Here); 然后简单地覆盖 onCreateContextMenu()

然后可以复制、粘贴您的文本,或对文本执行任何您想要的操作。 https://developer.android.com/guide/topics/ui/menus.html

关于Android:长按时突出显示段落中的句子,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46656126/

相关文章:

android - AlertDialog如何在输入后关闭键盘

android - 检查服务器上是否存在 URL

android - mText(TextView的成员变量)实际上是什么时候显示的?

android - 在Android中以编程方式选择项目ListView

android - 在我的 webview 应用程序上的空对象引用上调用虚拟方法 'int android.graphics.Bitmap.getWidth()'

ios - 如何创建一个按钮,突出显示散点图中的下一个点? ios

javascript - 我可以使用 JQuery 获取突出显示的文本吗?

javascript - Selection selectfinish/selectend 事件应该如何实现?

delphi - TEdit onclick 全选?

google-chrome-extension - 拦截(可能取消)页面的鼠标/键盘事件处理程序