Alerter

Additional

Language
Java
Version
N/A
Created
Feb 3, 2017
Updated
Sep 18, 2017
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
13
Activity
Badge
Generate
Download
Source code
APK file

Show card

Alerter

General

This library aims to overcome the limitations of Toasts and Snackbars, while reducing the complexity of your layouts.

A customisable Alert view is dynamically added to the Decor View of the Window, overlaying all content.

Gradle

dependencies {
    compile 'com.tapadoo.android:alerter:2.0.1'
}

Usage

With simplicity in mind, the Alerter employs the builder pattern to facilitate easy integration into any app.

From an Activity -

Alerter.create(this)
       .setTitle("Alert Title")
       .setText("Alert text...")
       .show();

Or from a Fragment -

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

Icon

Alerter.create(this)
       .setText("Alert text...")
       .setIcon(R.drawable.alerter_ic_face)
       .show();

On screen duration, in milliseconds

Alerter.create(this)
       .setTitle("Alert Title")
       .setText("Alert text...")
       .setDuration(10000)
       .show();

Without title

Alerter.create(this)
       .setText("Alert text...")
       .show();

Adding an On Click Listener

 Alerter.create(ExampleActivity.this)
        .setTitle("Alert Title")
        .setText("Alert text...")
        .setDuration(10000)
        .setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Toast.makeText(ExampleActivity.this, "OnClick Called", Toast.LENGTH_LONG).show();
            }
        })
        .show();

Verbose text

 Alerter.create(ExampleActivity.this)
        .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();

Visibility Callbacks

 Alerter.create(ExampleActivity.this)
        .setTitle("Alert Title")
        .setOnShowListener(new OnShowAlertListener() {
            @Override
            public void onShow() {
                Toast.makeText(ExampleActivity.this, "Alert Shown", Toast.LENGTH_LONG).show();
            }
        })
        .setOnHideListener(new OnHideAlertListener() {
            @Override
            public void onHide() {
                Toast.makeText(ExampleActivity.this, "Alert Hidden", Toast.LENGTH_LONG).show();
            }
         })
        .show();

Custom Fonts and Text Appearance

 Alerter.create(ExampleActivity.this)
                .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(ExampleActivity.this)
                .setTitle("Alert Title")
                .setText("Alert text...")
                .enableSwipeToDismiss()
                .show();

Progress Bar

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

Sample

Clone this repo and check out the app module.

Licence

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

Copyright 2016 Tapadoo, Dublin.