Alerter

An Android Alerting Library

Github星跟蹤圖

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(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
       .setIconSize(R.dimen.custom_icon_size) // Optional - default is 38dp
       .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

With Custom Layout

 Alerter.create(this@KotlinDemoActivity, 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

主要指標

概覽
名稱與所有者Tapadoo/Alerter
主編程語言Kotlin
編程語言Java (語言數: 2)
平台
許可證MIT License
所有者活动
創建於2017-02-03 16:50:47
推送於2023-07-21 08:28:18
最后一次提交2021-09-20 17:52:26
發布數14
最新版本名稱7.2.4 (發布於 2021-08-12 12:25:17)
第一版名稱1.0.0 (發布於 2017-02-20 11:29:34)
用户参与
星數5.5k
關注者數102
派生數634
提交數456
已啟用問題?
問題數192
打開的問題數46
拉請求數83
打開的拉請求數3
關閉的拉請求數18
项目设置
已啟用Wiki?
已存檔?
是復刻?
已鎖定?
是鏡像?
是私有?