Alerter
https://github.com/Tapadoo/Alerter
Alerter - An Android Alerter Library, now in Kotlin
This library aims to overcome the limitations of Toasts and Snackbars, while reducing the
complexity of your layouts.
[Download](https://api.bintray.com/packages/tapadoo/maven/alerter/images/download.svg) [API](https://img.shields.io/badge/API-14%2B-orange.svg?style=flat) [Android Arsenal](https://img.shields.io/badge/Android%20Arsenal-Alerter-blue.svg?style=flat) [Android Weekly](https://img.shields.io/badge/Android%20Weekly-%23245-blue.svg)
[Header](./documentation/header.png)
General
With simplicity in mind, the Alerter employs the builder pattern to facilitate easy integration into any app.
A customisable Alert view is dynamically added to the Decor View of the Window, overlaying all content.
Gradle
dependencies {
implementation 'com.tapadoo.android:alerter:4.0.0'
}
Kotlin
Version 3.0.0 and above requires Kotlin
AndroidX
Version 4.0.0 includes support for AndroidX dependencies. If you experience issues with this update,
please ensure you have enabled AndroidX & Jetifier in your gradle.properties
file:
android.useAndroidX=true
android.enableJetifier=true
Usage
From an Activity -
Alerter.create(this@DemoActivity)
.setTitle("Alert Title")
.setText("Alert text...")
.show()
Or from a Fragment -
Alerter.create(activity)
.setTitle("Alert Title")
.setText("Alert text...")
.show()
To check if an alert is showing -
Alerter.isShowing()
To hide a currently showing Alert -
Alerter.hide()
Customisation
Background Colour
Alerter.create(this@DemoActivity)
.setTitle("Alert Title")
.setText("Alert text...")
.setBackgroundColorRes(R.color.colorAccent) // or setBackgroundColorInt(Color.CYAN)
.show()
Icon
Alerter.create(this@DemoActivity)
.setText("Alert text...")
.setIcon(R.drawable.alerter_ic_mail_outline)
.setIconColorFilter(0) // Optional - Removes white tint
.show()
On screen duration, in milliseconds
Alerter.create(this@DemoActivity)
.setTitle("Alert Title")
.setText("Alert text...")
.setDuration(10000)
.show()
Without title
Alerter.create(this@DemoActivity)
.setText("Alert text...")
.show()
Adding an On Click Listener
Alerter.create(this@DemoActivity)
.setTitle("Alert Title")
.setText("Alert text...")
.setDuration(10000)
.setOnClickListener(View.OnClickListener {
Toast.makeText(this@DemoActivity, "OnClick Called", Toast.LENGTH_LONG).show();
})
.show()
Verbose text
Alerter.create(this@DemoActivity)
.setTitle("Alert Title")
.setText("The alert scales to accommodate larger bodies of text. " +
"The alert scales to accommodate larger bodies of text. " +
"The alert scales to accommodate larger bodies of text.")
.show()
Custom Enter/Exit Animations
Alerter.create(this@KotlinDemoActivity)
.setTitle("Alert Title")
.setText("Alert text...")
.setEnterAnimation(R.anim.alerter_slide_in_from_left)
.setExitAnimation(R.anim.alerter_slide_out_to_right)
.show()
Visibility Callbacks
Alerter.create(this@KotlinDemoActivity)
.setTitle("Alert Title")
.setText("Alert text...")
.setDuration(10000)
.setOnShowListener(OnShowAlertListener {
Toast.makeText(this@KotlinDemoActivity, "Show Alert", Toast.LENGTH_LONG).show()
})
.setOnHideListener(OnHideAlertListener {
Toast.makeText(this@KotlinDemoActivity, "Hide Alert", Toast.LENGTH_LONG).show()
})
.show()
Custom Fonts and Text Appearance
Alerter.create(this@DemoActivity)
.setTitle("Alert Title")
.setTitleAppearance(R.style.AlertTextAppearance_Title)
.setTitleTypeface(Typeface.createFromAsset(getAssets(), "Pacifico-Regular.ttf"))
.setText("Alert text...")
.setTextAppearance(R.style.AlertTextAppearance_Text)
.setTextTypeface(Typeface.createFromAsset(getAssets(), "ScopeOne-Regular.ttf"))
.show()
Swipe to Dismiss
Alerter.create(this@DemoActivity)
.setTitle("Alert Title")
.setText("Alert text...")
.enableSwipeToDismiss()
.show()
Progress Bar
Alerter.create(this@DemoActivity)
.setTitle("Alert Title")
.setText("Alert text...")
.enableProgress(true)
.setProgressColorRes(R.color.colorAccent)
.show()
With Buttons
Alerter.create(this@KotlinDemoActivity)
.setTitle(R.string.title_activity_example)
.setText("Alert text...")
.addButton("Okay", R.style.AlertButton, View.OnClickListener {
Toast.makeText(this@KotlinDemoActivity, "Okay Clicked", Toast.LENGTH_LONG).show()
})
.addButton("No", R.style.AlertButton, View.OnClickListener {
Toast.makeText(this@KotlinDemoActivity, "No Clicked", Toast.LENGTH_LONG).show()
})
.show()
Sample
Clone this repo and check out the app-base
module.
Licence
See the LICENSE file for license rights and limitations (MIT).
Copyright 2017 Tapadoo, Dublin.