Alerter

General

Category
Free
Tag
Design
License
MIT License
Min SDK
16 (Android 4.1 Jelly Bean)
Registered
Feb 16, 2017
Favorites
29
Link
https://github.com/Tapadoo/Alerter
See also
Yingke
android-topeka
Cyanea
OCiney
LatteKit

Additional

Language
Kotlin
Version
N/A
Created
Feb 3, 2017
Updated
Dec 4, 2018
Owner
Tapadoo
Contributors
Diogo Bernardino (diogobernardino)
Ed George (ed-george)
smuriana
Jimmy Mayoukou (Bhullnatik)
riclage
Iiro Krankka (roughike)
tonyjs
Tomer Rosenfeld (rosenpin)
kpmmmurphy
juliosueiras
otormaigh
fodawim
dskwon19
diogoarm
ftabashir
Xenios91
azisuazusa
17
Activity
Badge
Generate
Download
Source code
APK file

Show card

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.

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.