setTooltipText() and android:tooltipText are not working in Nougat

半城伤御伤魂 提交于 2019-12-10 18:57:22

问题


I have an ImageButton, when I did some test for my app, I found that I could not show the tooltipText in my Xiaomi Note 4 with Android N device. But it shows up perfectly fine in my Samsung S8 with Android O, any idea why this can happen and how to mitigate this? The minimum reproducible code is really simple, just create a basic android project in android studio and replace the default HelloWorld Textview to

<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" />

I think there must be some way I can make it work because the auto generated toolbar obviously has tooltip. So there must be something I'm missing to make it work in Xiaomi device.


回答1:


setTooltipText (CharSequence tooltipText) is added in added in API level 26. To use it in devices with API level prior 26, you can use TooltipCompat#setTooltipText(View view, CharSequence tooltipText) from v7 support library.

To use it, add this in gradle

implement "com.android.support:appcompat-v7:27.1.1"


Example:

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



来源:https://stackoverflow.com/questions/51887561/settooltiptext-and-androidtooltiptext-are-not-working-in-nougat

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!