Alerter

by Tapadoo

Tapadoo / Alerter

An Android Alerting Library

4.9K Stars 581 Forks Last release: Not found MIT License 404 Commits 7 Releases

Available items

No Items, yet!

The developer of this repository has not created any items for sale yet. Need a bug fixed? Help with integration? A different license? Create a request here:

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 API Android Arsenal Android Weekly

Header

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:$current-version'
}

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

Default Alert

From an Activity -

Alerter.create([email protected])
       .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([email protected])
       .setTitle("Alert Title")
       .setText("Alert text...")
       .setBackgroundColorRes(R.color.colorAccent) // or setBackgroundColorInt(Color.CYAN)
       .show()

Coloured Alert

Icon

Alerter.create([email protected])
       .setText("Alert text...")
       .setIcon(R.drawable.alerter_ic_mail_outline)
       .setIconColorFilter(0) // Optional - Removes white tint
       .setIconSize(R.dimen.custom_icon_size) // Optional - default is 38dp
       .show()

Custom Icon Alert

On screen duration, in milliseconds

Alerter.create([email protected])
       .setTitle("Alert Title")
       .setText("Alert text...")
       .setDuration(10000)
       .show()

Without title

Alerter.create([email protected])
       .setText("Alert text...")
       .show()

Text Only Alert

Adding an On Click Listener

 Alerter.create([email protected])
        .setTitle("Alert Title")
        .setText("Alert text...")
        .setDuration(10000)
        .setOnClickListener(View.OnClickListener {
            Toast.makeText([email protected], "OnClick Called", Toast.LENGTH_LONG).show();
        })
        .show()

On Click Alert

Verbose text

 Alerter.create([email protected])
        .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()

Verbose Alert

Custom Enter/Exit Animations

  Alerter.create([email protected])
         .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([email protected])
        .setTitle("Alert Title")
        .setText("Alert text...")
        .setDuration(10000)
        .setOnShowListener(OnShowAlertListener {
            Toast.makeText([email protected], "Show Alert", Toast.LENGTH_LONG).show()
        })
        .setOnHideListener(OnHideAlertListener {
            Toast.makeText([email protected], "Hide Alert", Toast.LENGTH_LONG).show()
        })
        .show()

Custom Fonts and Text Appearance

 Alerter.create([email protected])
        .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()

Verbose Alert

Swipe to Dismiss

 Alerter.create([email protected])
        .setTitle("Alert Title")
        .setText("Alert text...")
        .enableSwipeToDismiss()
        .show()

Verbose Alert

Progress Bar

 Alerter.create([email protected])
        .setTitle("Alert Title")
        .setText("Alert text...")
        .enableProgress(true)
        .setProgressColorRes(R.color.colorAccent)
        .show()

Verbose Alert

With Buttons

 Alerter.create([email protected])
        .setTitle(R.string.title_activity_example)
        .setText("Alert text...")
        .addButton("Okay", R.style.AlertButton, View.OnClickListener {
            Toast.makeText([email protected], "Okay Clicked", Toast.LENGTH_LONG).show()
        })
        .addButton("No", R.style.AlertButton, View.OnClickListener {
            Toast.makeText([email protected], "No Clicked", Toast.LENGTH_LONG).show()
        })
        .show()

Verbose Alert

With Custom Layout

 Alerter.create([email protected], R.layout.custom_layout)
        .setBackgroundColorRes(R.color.colorAccent)
        .also { alerter ->
            val tvCustomView = alerter.getLayoutContainer()?.tvCustomLayout
            tvCustomView?.setText(R.string.with_custom_layout)
        }
        .show()

Verbose Alert

Licence

See the LICENSE file for license rights and limitations (MIT).

Copyright 2017 Tapadoo, Dublin.

Alt Text

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.