在长按视图上显示可供性/悬停/工具提示
Posted
技术标签:
【中文标题】在长按视图上显示可供性/悬停/工具提示【英文标题】:Show affordance/hover/tooltip on a long-clicked View 【发布时间】:2011-06-30 04:40:00 【问题描述】:我想显示一个工具提示,即当用户长按View
时,它会显示额外的非必要信息。
我眼前看到的两个选项是使用OnLongClickListener在点击的View前面构造一个自定义工具提示;或滥用OnCreateContextMenuListener 来创建不是的上下文菜单。
这两种方法似乎都不是处理事情的最佳方式,我不确定两者是否可行。我搜索了网络并没有找到任何提示。任何替代方案,或者我应该因为试图这样做而被打湿吗?谢谢!
【问题讨论】:
在我看来 OnLongClickListener 正是你想要的。 A.工具提示并不真正适合智能手机。屏幕空间已经如此有限。工具提示将占据您屏幕的 1/2,因此您不妨使用其他活动或对话框。 B. 用户不期望工具提示。当他们长按时,他们期望一个选择器。我会退后一步,评估您的设计决定。 嘿,@user4,它肯定不会占据屏幕的一半!请参阅下面我对 Mark 的回复。不过,我会找到一个替代方案:) 【参考方案1】:android Oreo 引入了android:tooltipText
属性,以便在用户长按视图时显示简单的类似 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())
【讨论】:
以上是关于在长按视图上显示可供性/悬停/工具提示的主要内容,如果未能解决你的问题,请参考以下文章