5

我想显示一个工具提示,即有关View用户长按它时的附加非必要信息。

我在我面前看到的两个选项是使用OnLongClickListener在单击的 View 前面构造自定义工具提示;或滥用OnCreateContextMenuListener来创建不是的上下文菜单。

两者似乎都不是处理事情的最佳方式,我不确定两者是否可行。我搜索了网络并没有找到任何提示。任何替代方案,还是我应该因为试图这样做而被打湿?谢谢!

4

1 回答 1

8

Android Oreo 引入了该android:tooltipText属性,以便在用户长按 View 时显示类似 Toast 的简单工具提示:

<Button
    // ...
    android:tooltipText="@string/share_button_tooltip"/>

虽然它已在 API 26 中引入,但您仍然可以通过 Support Library 的TooltipCompat帮助器类来使用它:

TooltipCompat.setTooltipText(shareButton, getString(R.string.share_button_tooltip))

我的建议是设置android:contentDescription,然后将其用作工具提示文本,用 1 只鸟杀死 2 块石头:

<Button
    // ...
    android:contentDescription="@string/share_button_tooltip"/>

TooltipCompat.setTooltipText(shareButton, shareButton.getContentDescription())
于 2018-03-17T17:09:17.703 回答