2017-02-21 30 views
2

我们如何为所有应用程序添加一个新的上下文菜单选项,当用户选择一个文本并长时间按下它时会显示该选项?我们如何为所有应用程序添加一个新的上下文菜单选项,当用户选择文本并长时间按下时,这些应用程序将显示出来?

比方说,我想让用户能够从离线字典中查找单词的含义,而不必离开他的应用上下文。

  1. 通常要添加一个上下文菜单,我们将在特定的TextView对象上执行registerForContextMenu。鉴于这需要适用于所有应用程序,我们如何添加上下文菜单选项?
  2. 如何阅读选定的文本?
  3. 如何渲染当前打开的应用程序顶部的弹出控件?

我对android开发很陌生。所以任何详细的答案或样品指针都会有很大的帮助。我假设这应该可以做,因为应用程序“定义”,“定义离线字典”似乎做了一些接近这个,如果不完全相同。在这些应用程序中,您可以选择文本并单击副本查看文本的含义。

我所做的所有搜索都向我展示了如何呈现文本视图的上下文菜单或如何在上下文菜单处理程序中获取选定列表项的示例。但这没有帮助。

在此先感谢。

回答

0

我认为这可以帮助你,说如何创建上下文菜单并获取选定的文本。与你只需要做一个意图到选定的文本作为一个额外的字典捐赠:

https://nitesh.morajkar.com/how-to-select-and-share-text-with-intents-in-android/

如果你想使用,例如谷歌翻译的定义,这可以帮助:

Android API support dictionary applications

编辑:后都为这个问题的解决某些搜索是在这里: https://medium.com/google-developers/custom-text-selection-actions-with-action-process-text-191f792d2999#.h6377bc8j

+0

在您所提供的链接,我们似乎到b e这样做: tv =(TextView)findViewById(R.id.textview); tv.setCustomSelectionActionModeCallback(...) 这不是意味着我们只将上下文菜单添加到我们的应用中的TextView元素吗?这对所有其他应用程序如何工作? 假设我希望能够在Adobe PDF阅读器中显示新的上下文菜单选项。这不适用? – cp1

+0

我认为你不能.context菜单是一个独特的应用程序,你不能改变其他应用程序中的代码..因为,其他应用程序需要做一个特定的动作,如在这种情况下,当你选择文本和你的应用程序是有能力的意图处理这个动作是寻找一个新的defenition ..所以我觉得awnser是你不能这样做到其他应用程序.. –

+0

你说的话似乎是正确的。除非明确允许我们这样做,否则在其他应用程序中不能扩展功能是有道理的。 – cp1