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

Default Alert

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()

Coloured Alert

Icon

Alerter.create(this@DemoActivity)
       .setText("Alert text...")
       .setIcon(R.drawable.alerter_ic_mail_outline)
       .setIconColorFilter(0) // Optional - Removes white tint
       .show()

Custom Icon Alert

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()

Text Only Alert

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()

On Click Alert

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()

Verbose Alert

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()

Verbose Alert

Swipe to Dismiss

 Alerter.create(this@DemoActivity)
        .setTitle("Alert Title")
        .setText("Alert text...")
        .enableSwipeToDismiss()
        .show()

Verbose Alert

Progress Bar

 Alerter.create(this@DemoActivity)
        .setTitle("Alert Title")
        .setText("Alert text...")
        .enableProgress(true)
        .setProgressColorRes(R.color.colorAccent)
        .show()

Verbose Alert

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()

Verbose Alert

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.

Alt Text








Newsletter
Comments