setTooltipText()和android:tooltipText在Nougat中不起作用

lit*_*hen 3 android tooltip imagebutton

我有一个ImageButton,当我对我的应用程序进行测试时,发现无法tooltipText在带有Android N设备的小米Note 4中显示。但这在带有Android O的三星S8中显示得很好,您知道为什么会发生这种情况以及如何缓解这种情况吗?最小的可复制代码非常简单,只需在android studio中创建一个基本的android项目,然后将默认的HelloWorld Textview替换为

<ImageButton
        android:layout_width="36dp"
        android:layout_height="36dp"
        android:tooltipText="Show tooltip"
        android:src="@mipmap/ic_launcher"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintRight_toRightOf="parent"
        app:layout_constraintTop_toTopOf="parent" />
Run Code Online (Sandbox Code Playgroud)

我认为必须有某种方法可以使它起作用,因为自动生成的工具栏显然具有工具提示。因此,必须缺少一些东西才能使其在小米设备中正常工作。

Ber*_*yle 5

setTooltipText (CharSequence tooltipText)API级别26中添加。要在API级别低于26的设备中使用它,可以TooltipCompat#setTooltipText(View view, CharSequence tooltipText)v7支持库中使用

要使用它,请在gradle中添加它

implement "com.android.support:appcompat-v7:27.1.1"
Run Code Online (Sandbox Code Playgroud)


例:

TooltipCompat.setTooltipText(view, "Tooltip text");

  • 我认为您的意思是“自动生成的工具栏”是“ActionBar”。在这种情况下,图标(项目)带有工具提示文本,而不是 `ActionBar` 本身。该文本取自菜单的 `android:title` 属性。 (3认同)