Dynamic Tooltip is a mobile application that provides in-app nudges in the form of tooltips to guide users through various features. Tooltips are rendered with dynamic positioning, style, and text on the target element.
The design for the mobile screen and tooltip component can be found in this Figma file.
-
Tooltip Configuration
- Ability to set the target element, style, and text of the tooltip.
- Options to include an image inside the tooltip.
- Styling inputs provided on the configuration screen for customization.
-
Mobile Screen Preview
- A preview of a mobile screen with button elements.
- Buttons act as the target elements for rendering the tooltips.
-
Dynamic Tooltip Rendering
- The tooltip component is built and positioned without using any additional library.
- Seamless functionality for buttons at any location on the mobile screen.
-
Tooltip Image Support
- The ability to include images inside the tooltips.
- Supports various image formats such as PNG and JPEG.
- Images can be fetched from URL.
The mobile application is built using the following technologies and libraries:
- Data Binding
- Fragment
- Glide
- Binding Adapter
- View Binding
- Room
- Coroutines
- ViewModel
- LiveData
- Clone the project repository from repository link.
- Open the project in Android Studio.
- Ensure the required dependencies are installed and up to date.
- Build and run the project on an Android emulator or physical device.
You can download the latest APK of the application from this Google Drive link. The APK size is approximately 7.3 MB.
- Launch the mobile application.
- On the main screen, explore the mobile screen preview with various buttons.
- Tap on the "Render Tooltip" button to access the tooltip editor screen.
- Set the target element, position, style, and text for the tooltip.
- Optionally, include an image inside the tooltip.
- Save the configuration.
- Return to the mobile screen preview and interact with the target element to trigger the tooltip.
- The tooltip will be rendered based on the configured parameters.
This project implements dynamic tooltips in a mobile app, utilizing Room Database for data storage. If you have any feedback or suggestions, please don't hesitate to let me know.
Happy coding!