A tooltip/showcase library for Android re-written in Kotlin.

Last update: Apr 27, 2022

UglyTooltip

Based on another Showcase library. Being kotlinized, customized and refactored.

Installation

Project level gradle

allprojects {
		repositories {
			...
			maven { url 'https://jitpack.io' }
		}
	}

App level gradle

dependencies {
	   implementation 'com.github.akndmr:UglyTooltip:v1.0.4-beta'
	}

How to

Init UglyTooltip with below custom properties.

You can set shouldShowIcons flag as false to show texts(previous and next) instead.

private fun initUglyTooltip() {
        tooltipDialog = TooltipBuilder()
            .setPackageName(packageName)
            .titleTextColorRes(R.color.white)
            .textColorRes(R.color.white)
            .shadowColorRes(color.shadow) // Overlay canvas color
            .titleTextSizeRes(dimen.title_size)
            .textSizeRes(dimen.text_normal)
            .spacingRes(dimen.spacing_normal)
            .backgroundContentColorRes(color.darker_gray) // Tooltip background color
            .circleIndicatorBackgroundDrawableRes(drawable.selector_circle)
            .prevString(string.previous)
            .nextString(nextStringText = "Sonraki") // Optional nextStringRes or nextStringText
            .finishString(finishStringText = "Bitir da!")
            .useCircleIndicator(true) 
            .clickable(true) // Click anywhere to continue
            .useArrow(true) // Optional tooltip pointing arrow
            .useSkipWord(false) // Optional tooltip skip option
            .setFragmentManager(this.supportFragmentManager)
            .lineColorRes(color.line_color) // Optional tooltip button seperator line color
            .lineWidthRes(dimen.line_width) // Optional tooltip button seperator line width
            .shouldShowIcons(true) // Optional tooltip next/prev icons
            .setTooltipRadius(dimen.tooltip_radius) //Optional tooltip corder radius
            .showSpotlight(true) //Optional spotlight
            .build()
    }

Create a list of TooltipObjects and show tooltip dialog.

(R.id.tvTest2), null, "No title, just description, simple text.", tooltipContentPosition = TooltipContentPosition.RIGHT ) ) tooltips.add( TooltipObject( findViewById(R.id.tvTest3), " an ImageView ", "This HTML description point to an ImageView as you can see.

Lorem ipsum dolor sit amet, consectetur adipiscing elit.", tooltipContentPosition = TooltipContentPosition.LEFT ) ) tooltips.add( TooltipObject( findViewById(R.id.iv4), "This is a title", "This is a description, but a little longer than number 3 but shorter than number 5 that you will see soon." ) ) tooltips.add( TooltipObject( findViewById(R.id.tvTest), "This is a title", "This is a description, but a little longer than number 3 but shorter than number 5 that you will see soon." ) ) tooltips.add( TooltipObject( findViewById(R.id.iv5), "This is another title", "This HTML description point to an ImageView as you can see.

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suo enim quisque studio maxime ducitur. Scio enim esse quosdam, qui quavis lingua philosophari possint; Animum autem reliquis rebus ita perfecit, ut corpus; Quo modo autem optimum, si bonum praeterea nullum est?" ) ) tooltips.add( TooltipObject( findViewById(R.id.iv6), "This is another one", "This description point to number 6. This is yellow text and this is white.", tooltipContentPosition = TooltipContentPosition.UNDEFINED, tintBackgroundColor = ResourcesCompat.getColor(resources, R.color.blue, null), null ) ) tooltips.add( TooltipObject( findViewById(R.id.tvTest4), " an ImageView ", "This HTML description point to an ImageView as you can see.

Lorem ipsum dolor sit amet, consectetur adipiscing elit.", tooltipContentPosition = TooltipContentPosition.LEFT ) ) tooltipDialog?.show(this, supportFragmentManager, "SHOWCASE_TAG", tooltips) } ">
fun startUglyTooltips() {
        val tooltips: ArrayList<TooltipObject> = ArrayList()

        tooltips.add(
            TooltipObject(
                findViewById<ImageView>(R.id.iv3),
                null,
                "No title, just description, simple text."
            )
        )

        tooltips.add(
            TooltipObject(
                findViewById<TextView>(R.id.tvTest2),
                null,
                "No title, just description, simple text.",
                tooltipContentPosition = TooltipContentPosition.RIGHT
            )
        )

        tooltips.add(
            TooltipObject(
                findViewById<TextView>(R.id.tvTest3),
                "\"#FFC300\"> an ImageView ",
                "This HTML description point to \"#FFC300\"> an ImageView  as you can see.

Lorem ipsum dolor sit amet, consectetur adipiscing elit.", tooltipContentPosition = TooltipContentPosition.LEFT ) ) tooltips.add( TooltipObject( findViewById<ImageView>(R.id.iv4), "This is a title", "This is a description, but a little longer than number 3 but shorter than number 5 that you will see soon." ) ) tooltips.add( TooltipObject( findViewById<TextView>(R.id.tvTest), "This is a title", "This is a description, but a little longer than number 3 but shorter than number 5 that you will see soon." ) ) tooltips.add( TooltipObject( findViewById<ImageView>(R.id.iv5), "This is another title", "This HTML description point to \"#FFC300\"> an ImageView as you can see.

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suo enim quisque studio maxime ducitur. Scio enim esse quosdam, qui quavis lingua philosophari possint; Animum autem reliquis rebus ita perfecit, ut corpus; Quo modo autem optimum, si bonum praeterea nullum est?" ) ) tooltips.add( TooltipObject( findViewById<ImageView>(R.id.iv6), "This is another one", "This description point to number 6. \"#FFC300\"> This is yellow text and this is white.", tooltipContentPosition = TooltipContentPosition.UNDEFINED, tintBackgroundColor = ResourcesCompat.getColor(resources, R.color.blue, null), null ) ) tooltips.add( TooltipObject( findViewById<TextView>(R.id.tvTest4), "\"#FFC300\"> an ImageView ", "This HTML description point to \"#FFC300\"> an ImageView as you can see.

Lorem ipsum dolor sit amet, consectetur adipiscing elit.", tooltipContentPosition = TooltipContentPosition.LEFT ) ) tooltipDialog?.show(this, supportFragmentManager, "SHOWCASE_TAG", tooltips) }

GitHub

https://github.com/akndmr/UglyTooltip
You might also like...

Context sensitive notifications for Android

Context sensitive notifications for Android

Crouton Context sensitive notifications for Android DEPRECATION NOTICE This library has passed it's prime and is now considered deprecated. With the A

May 11, 2022

In-layout notifications. Based on Toast notifications and article by Cyril Mottier (http://android.cyrilmottier.com/?p=773).

In-layout notifications. Based on Toast notifications and article by Cyril Mottier (http://android.cyrilmottier.com/?p=773).

Android AppMsg (Crouton) Library Implementation of in-layout notifications. Based on Toast notifications and article The making of Prixing #4: in-layo

May 19, 2022

An Android Toast replacement, similar to the one seen in the GMail app.

MessageBar An Android Toast replacement, similar to the one seen in the GMail app. Multiple messages can be posted in succession, and each message wil

Feb 16, 2022

Custom toasts with color and icon for Android.

Custom toasts with color and icon for Android.

Dynamic Toasts A simple library to display themed toasts with icon and text on Android 2.3 (API 9) and above devices. Since v0.4.0, it uses 26.x.x sup

May 10, 2022

Android Custom Toast

Android Custom Toast

Super Toast Library Written Purely in Kotlin ❤ī¸ Usual Toast but with super powers!!! đŸ’Ē A Fully Customised and Customisable Toast. ]( https://android-

May 2, 2021

Android Toast For RTL Applications

Android Toast For RTL Applications

RTL-Toast Android library to show Toasts in a pretty RTL way Install Add it in your root build.gradle allprojects { repositories { ... ma

Oct 19, 2021

CuteToast is an Material Design Custom Toast for Android | Custom Material Design Toast

CuteToast is an Material Design Custom Toast for Android | Custom Material Design Toast

CuteToast is an Android Custom Toast library that could be used instead of Default Toast. It does everything as Toast but with some extra spice.

Dec 14, 2021

BiometricAuth - A simple project to show biometric authenticaation in android

BiometricAuth - A simple project to show biometric authenticaation in android

BiometricAuth a simple project to show biometric authenticaation in android link

Feb 16, 2022

Dead simple Android Tooltip Views

Dead simple Android Tooltip Views

TooltipView A dead simple way to to add tooltips to your Android app. com.venmo.view.TooltipView android:layout_width="wrap_content"

Apr 14, 2022

Membuat Custom Tooltip Marker Google Maps

Membuat Custom Tooltip Marker Google Maps

Custom-Tooltip-Marker Membuat Custom Tooltip Marker Google Maps Tutorial Build with Android Studio https://youtu.be/E8ND0YThNiU Tutorial Build with St

Feb 17, 2022

Tooltip Bubble is an information bubble creator tool.

Tooltip Bubble is an information bubble creator tool.

TooltipBubble It's a simple Tooltip. Installing Add the code block to your project allprojects { repositories { jcenter()

Mar 16, 2022

PopupBarChart 📊 can shows a tooltip when user click on the bar 😍 🤩

 PopupBarChart 📊 can shows a tooltip when user click on the bar 😍 🤩

PopupBarChart 📊 can shows a tooltip when user click on the bar 😍 🤩

May 16, 2022

A showcase music app for Android entirely written using Kotlin language

Bandhook Kotlin This project is a small replica of the app I developed some time ago. Bandhook can still be found on Play Store At the moment it will

May 13, 2022

A showcase music app for Android entirely written using Kotlin language

Bandhook Kotlin This project is a small replica of the app I developed some time ago. Bandhook can still be found on Play Store At the moment it will

May 13, 2022

An simple image gallery app utilizing Unsplash API to showcase modern Android development architecture (MVVM + Kotlin + Retrofit2 + Hilt + Coroutines + Kotlin Flow + mockK + Espresso + Junit)

An simple image gallery app utilizing Unsplash API to showcase modern Android development architecture (MVVM + Kotlin + Retrofit2 + Hilt + Coroutines + Kotlin Flow + mockK + Espresso + Junit)

Imagine App An simple image gallery app utilizing Unsplash API. Built with ❤ī¸Ž by Wajahat Karim and contributors Features Popular photos with paginatio

May 17, 2022

Modular Android architecture which showcase Kotlin, MVVM, Navigation, Hilt, Coroutines, Jetpack compose, Retrofit, Unit test and Kotlin Gradle DSL.

SampleCompose Modular Android architecture which showcase Kotlin, MVVM, Navigation, Hilt, Coroutines, Jetpack compose, Retrofit, Unit test and Kotlin

Apr 2, 2022

Android library to showcase/highlight the multiple views on same overlay

Android library to showcase/highlight the multiple views on same overlay

MultiLamp MultiLamp is simple and easy to use Android library to showcase/highlight the multiple views on the same overlay with some message. Gradle S

Mar 16, 2022

RoboDemo is a ShowCase library for Android to demonstrate to users how a given Activity works.

RoboDemo is a ShowCase library for Android to demonstrate to users how a given Activity works.

RoboDemo RoboDemo is a ShowCase library for Android to demonstrate to users how a given Activity works. A sample is available in the download area of

Mar 15, 2022

RoboDemo is a ShowCase library for Android to demonstrate to users how a given Activity works.

RoboDemo is a ShowCase library for Android to demonstrate to users how a given Activity works.

RoboDemo RoboDemo is a ShowCase library for Android to demonstrate to users how a given Activity works. A sample is available in the download area of

Mar 15, 2022
Related tags
An android library for easy implementation of Toasts in Android with easy customisation.
An android library for easy implementation of Toasts in Android with easy customisation.

ToastTypeDecore Šī¸ A library for easy implementation of Toasts in Android with easy customisation. Latest Version : v2.1 Screenshots Success Toast1 Su

Oct 27, 2021
Android : IamToast Another Toast library for Android
 Android : IamToast  Another Toast library for Android

Android : IamToast Another Toast library for Android Warning. toast custom view is deprecated since android 11(R) Setup allprojects { repositories

Feb 7, 2022
A library that extends the Android toast framework.
A library that extends the Android toast framework.

SuperToasts Library The SuperToasts library enhances and builds upon the Android Toast class. This library includes support for context sensitive Supe

May 13, 2022
🍞 The missing toast library for Android.
🍞 The missing toast library for Android.

Literally Toast ?? A toast library for Android. Usage: ?? Use the LitToast to get lit and show your users a proper toast. LitToast.create(context, "My

Dec 17, 2021
Android library to create customizable floating animated toasts like in Clash Royale app

FloatingToast-Android An android library to make customisable floating animated toasts Getting Started In your build.gradle dependencies { impleme

Mar 9, 2022
Toastie is a customizable Android toast library.
Toastie is a customizable Android toast library.

Toastie Getting Started Gradle Step 1. Add the JitPack repository to your build file Add it in your root build.gradle at the end of repositories: Note

Apr 3, 2021
Attractive, stylish and customizable toast library for Android.

FabToast min SDK 16 (Jelly Bean 4.1) written in Java To download the demo app for this library from Google Playstore so you can see it in action, clic

Feb 14, 2022
Customizable toast message library for Android
Customizable toast message library for Android

Android Custom Toast Message (SnToast) Customizable Toast Message Library For Android Add this in your root build.gradle file allprojects { reposito

Nov 15, 2021
A really simple library that help you to display a custom toast with many colors (for : success, warning, danger, info, dark, light, primary...etc ), or with rounded corners, or event with image.

CoolToast A really simple library that help you to display a custom toast with many colors (for : success, warning, danger, info, dark, light, primary

Jun 22, 2020
Custom Toast Library by Google Developer Student Club University of Brawijaya
Custom Toast Library by Google Developer Student Club University of Brawijaya

GDSCToast Custom Toast Library by Google Developer Student Club University of Brawijaya Prerequisites For old version of gradle (before arctic fox upd

May 22, 2022