如何在android中显示ToolTip?

Thi*_*iru 19 android

我想在视图上移动光标时显示工具提示(QuickAction视图).任何人都可以给我一个简单的例子吗?工具提示只包含文本值.

hei*_*erg 25

可能使用myView.setTooltipText(CharSequence)(来自API级别26)或TooltipCompat(在API级别26之前)是一个额外的选项:

TooltipCompat.setTooltipText(myView, context.getString(R.string.myString));
Run Code Online (Sandbox Code Playgroud)

文件说:

Helper类用于在API级别26之前模拟{@link View#setTooltipText(CharSequence)}的行为.


Tim*_*oes 20

Android仅支持Android 4.0上的ActionBar按钮的"工具提示".但正如美洲虎已经提到的那样,Android中的工具提示并没有多大意义,因为没有悬停的概念.

在Android 4.0中,如果长按按钮,将显示正常的标题文本(您在xml文件中或通过代码设置的文本).但是如果屏幕上有足够的空间,它将一直显示在ActionBar中,一直显示在图标旁边.

如果你想将它用于自定义视图,你需要通过LongClickListener在视图中添加一个来自己实现它,并Toast在按下long时显示:

view.setOnLongClickListener(new OnLongClickListener() {
    public boolean onLongClick(View v) {
        Toast.makeText(v.getContext(), "My tool-tip text", Toast.LENGTH_SHORT).show();
        return true;
    }
}
Run Code Online (Sandbox Code Playgroud)

当然,您应该为字符串使用资源,而不是硬编码字符串.

  • @John:使用Toast类,它将显示在屏幕底部的中心位置.使用菜单按钮上的标题文本,文本将直接显示在它们下方. (2认同)

Dar*_*ish 9

__CODE__支持库的修订增加了对视图和菜单项的工具提示(带有描述性文本的小弹出窗口)的支持.

使用setTooltipText设置工具提示文本,该文本将显示在视图旁边的小弹出窗口中.

将显示工具提示:

  • 长按,除非以其他方式处理(通过OnLongClickListener或上下文菜单).
  • 在悬停时,指针停止移动后短暂延迟

要将支持库添加到应用程序项目:

  1. 打开应用程序的build.gradle文件.
  2. 确保存储库部分包含带有" https://maven.google.com "端点的maven部分.

例如:

FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
TooltipCompat.setTooltipText(fab, "Send an email");
Run Code Online (Sandbox Code Playgroud)
  1. 将支持库添加到依赖项部分.

    dependencies {
    
    compile "androidx.appcompat:appcompat:1.1.0-rc01"
    }
    
    Run Code Online (Sandbox Code Playgroud)


小智 7

从Android API 14+开始,有一个悬停事件.你可以做,

view.setOnHoverListener(...)
Run Code Online (Sandbox Code Playgroud)

并听取了MotionEventS,从而为ACTION_HOVER_ENTERACTION_HOVER_EXIT,而不是onLongClick.