[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-7249":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":16,"stars7d":16,"stars30d":17,"stars90d":16,"forks30d":16,"starsTrendScore":16,"compositeScore":18,"rankGlobal":10,"rankLanguage":10,"license":19,"archived":20,"fork":20,"defaultBranch":21,"hasWiki":22,"hasPages":20,"topics":23,"createdAt":10,"pushedAt":10,"updatedAt":37,"readmeContent":38,"aiSummary":39,"trendingCount":16,"starSnapshotCount":16,"syncStatus":17,"lastSyncTime":40,"discoverSource":41},7249,"Alerter","Tapadoo\u002FAlerter","Tapadoo","An Android Alerting Library","",null,"Kotlin",5512,632,100,45,0,2,64.6,"MIT License",false,"master",true,[24,25,26,27,28,29,30,31,32,33,34,35,36],"alerting","android","android-app","android-development","android-library","android-ui","app","customisation","google","java","material-design","material-ui","ui","2026-06-12 04:00:32","# Alerter - An Android Alerter Library, now in Kotlin!\n\nThis library aims to overcome the limitations of Toasts and Snackbars, while reducing the\ncomplexity of your layouts.\n\n[![API](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FAPI-14%2B-orange.svg?style=flat)](https:\u002F\u002Fandroid-arsenal.com\u002Fapi?level=14) [![Android Arsenal](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FAndroid%20Arsenal-Alerter-blue.svg?style=flat)](https:\u002F\u002Fandroid-arsenal.com\u002Fdetails\u002F1\u002F5302) [![Android Weekly](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FAndroid%20Weekly-%23245-blue.svg)](http:\u002F\u002Fandroidweekly.net\u002Fissues\u002Fissue-245)\n\n![Header](.\u002Fdocumentation\u002Fheader.png)\n\n## General\n\nWith simplicity in mind, the Alerter employs the builder pattern to facilitate easy integration into any app.\nA customisable Alert View is dynamically added to the Decor View of the Window, overlaying all content. \n\n## Install\n\nInclude the JitPack.io Maven repo in your project's build.gradle file\n\n```groovy\nallprojects {\n repositories {\n    maven { url \"https:\u002F\u002Fjitpack.io\" }\n }\n}\n```\n\nThen add this dependency to your app's build.gradle file\n\n```groovy\ndependencies {\n    implementation 'com.github.tapadoo:alerter:$current-version'\n}\n```\n\n# Usage\n\n![Default Alert](.\u002Fdocumentation\u002Falert_default.gif)\n\nFrom an Activity -\n\n```kotlin\nAlerter.create(this@DemoActivity)\n       .setTitle(\"Alert Title\")\n       .setText(\"Alert text...\")\n       .show()\n```\n\nOr from a Fragment -\n\n```kotlin\nAlerter.create(activity)\n       .setTitle(\"Alert Title\")\n       .setText(\"Alert text...\")\n       .show()\n```\n\nTo check if an alert is showing - \n\n\n```kotlin\nAlerter.isShowing()\n```\n\nTo hide a currently showing Alert - \n\n```kotlin\nAlerter.hide()\n```\n\n# Customisation\n\n### Background Colour\n\n```kotlin\nAlerter.create(this@DemoActivity)\n       .setTitle(\"Alert Title\")\n       .setText(\"Alert text...\")\n       .setBackgroundColorRes(R.color.colorAccent) \u002F\u002F or setBackgroundColorInt(Color.CYAN)\n       .show()\n```\n\n![Coloured Alert](.\u002Fdocumentation\u002Falert_coloured.gif)\n\n### Icon\n\n```kotlin\nAlerter.create(this@DemoActivity)\n       .setText(\"Alert text...\")\n       .setIcon(R.drawable.alerter_ic_mail_outline)\n       .setIconColorFilter(0) \u002F\u002F Optional - Removes white tint\n       .setIconSize(R.dimen.custom_icon_size) \u002F\u002F Optional - default is 38dp\n       .show()\n```\n\n![Custom Icon Alert](.\u002Fdocumentation\u002Falert_icon.gif)\n\n### On screen duration, in milliseconds\n\n```kotlin\nAlerter.create(this@DemoActivity)\n       .setTitle(\"Alert Title\")\n       .setText(\"Alert text...\")\n       .setDuration(10000)\n       .show()\n```\n\n### Without title\n\n```kotlin\nAlerter.create(this@DemoActivity)\n       .setText(\"Alert text...\")\n       .show()\n```\n\n![Text Only Alert](.\u002Fdocumentation\u002Falert_text_only.gif)\n\n### Adding an On Click Listener\n\n```kotlin\n Alerter.create(this@DemoActivity)\n        .setTitle(\"Alert Title\")\n        .setText(\"Alert text...\")\n        .setDuration(10000)\n        .setOnClickListener(View.OnClickListener {\n            Toast.makeText(this@DemoActivity, \"OnClick Called\", Toast.LENGTH_LONG).show();\n        })\n        .show()\n```\n\n![On Click Alert](.\u002Fdocumentation\u002Falert_on_click.gif)\n\n### Verbose text\n\n```kotlin\n Alerter.create(this@DemoActivity)\n        .setTitle(\"Alert Title\")\n        .setText(\"The alert scales to accommodate larger bodies of text. \" +\n                 \"The alert scales to accommodate larger bodies of text. \" +\n                 \"The alert scales to accommodate larger bodies of text.\")\n        .show()\n```\n\n![Verbose Alert](.\u002Fdocumentation\u002Falert_verbose.gif)\n\n### Custom Enter\u002FExit Animations\n\n```kotlin\n  Alerter.create(this@KotlinDemoActivity)\n         .setTitle(\"Alert Title\")\n         .setText(\"Alert text...\")\n         .setEnterAnimation(R.anim.alerter_slide_in_from_left)\n         .setExitAnimation(R.anim.alerter_slide_out_to_right)\n         .show()\n```\n\n### Visibility Callbacks\n\n```kotlin\n Alerter.create(this@KotlinDemoActivity)\n        .setTitle(\"Alert Title\")\n        .setText(\"Alert text...\")\n        .setDuration(10000)\n        .setOnShowListener(OnShowAlertListener {\n            Toast.makeText(this@KotlinDemoActivity, \"Show Alert\", Toast.LENGTH_LONG).show()\n        })\n        .setOnHideListener(OnHideAlertListener {\n            Toast.makeText(this@KotlinDemoActivity, \"Hide Alert\", Toast.LENGTH_LONG).show()\n        })\n        .show()\n```\n\n### Custom Fonts and Text Appearance\n\n```kotlin \n Alerter.create(this@DemoActivity)\n        .setTitle(\"Alert Title\")\n        .setTitleAppearance(R.style.AlertTextAppearance_Title)\n        .setTitleTypeface(Typeface.createFromAsset(getAssets(), \"Pacifico-Regular.ttf\"))\n        .setText(\"Alert text...\")\n        .setTextAppearance(R.style.AlertTextAppearance_Text)\n        .setTextTypeface(Typeface.createFromAsset(getAssets(), \"ScopeOne-Regular.ttf\"))\n        .show()\n```\n\n![Verbose Alert](.\u002Fdocumentation\u002Falert_custom_font.gif)\n\n### Swipe to Dismiss\n\n```kotlin\n Alerter.create(this@DemoActivity)\n        .setTitle(\"Alert Title\")\n        .setText(\"Alert text...\")\n        .enableSwipeToDismiss()\n        .show()\n```\n![Verbose Alert](.\u002Fdocumentation\u002Falert_swipe_to_dismiss.gif)\n\n### Progress Bar\n\n```kotlin\n Alerter.create(this@DemoActivity)\n        .setTitle(\"Alert Title\")\n        .setText(\"Alert text...\")\n        .enableProgress(true)\n        .setProgressColorRes(R.color.colorAccent)\n        .show()\n```\n\n![Verbose Alert](.\u002Fdocumentation\u002Falert_progress_bar.gif)\n\n### With Buttons\n\n```kotlin\n Alerter.create(this@KotlinDemoActivity)\n        .setTitle(R.string.title_activity_example)\n        .setText(\"Alert text...\")\n        .addButton(\"Okay\", R.style.AlertButton, View.OnClickListener {\n            Toast.makeText(this@KotlinDemoActivity, \"Okay Clicked\", Toast.LENGTH_LONG).show()\n        })\n        .addButton(\"No\", R.style.AlertButton, View.OnClickListener {\n            Toast.makeText(this@KotlinDemoActivity, \"No Clicked\", Toast.LENGTH_LONG).show()\n        })\n        .show()\n```\n\n![Verbose Alert](.\u002Fdocumentation\u002Falert_with_buttons.gif)\n\n### With Custom Layout\n```kotlin\n Alerter.create(this@KotlinDemoActivity, R.layout.custom_layout)\n        .setBackgroundColorRes(R.color.colorAccent)\n        .also { alerter ->\n            val tvCustomView = alerter.getLayoutContainer()?.tvCustomLayout\n            tvCustomView?.setText(R.string.with_custom_layout)\n        }\n        .show()\n```\n\n![Verbose Alert](.\u002Fdocumentation\u002Falert_with_custom_layout.gif)\n\n# Contributing & Reporting Issues\n\n[Please read this if you're reporting an issue, or thinking of contributing!](.\u002FCONTRIBUTING.md)\n\n## Licence\n\nSee the [LICENSE](LICENSE.md) file for license rights and limitations (MIT).\n\nCopyright 2017 Tapadoo, Dublin.\n\n\u003Cimg src=\"https:\u002F\u002F2upm2b1wdft320vzjj34rpga-wpengine.netdna-ssl.com\u002Fwp-content\u002Fuploads\u002F2019\u002F12\u002Flogo-tapadoo-dark.png\" width=\"200\"\u002F>\n","Alerter 是一个用于 Android 的警报库，旨在克服 Toast 和 Snackbar 的局限性，同时简化布局复杂度。它采用构建者模式，易于集成到任何应用程序中，并通过动态向窗口的 Decor View 添加可自定义的 Alert View 来覆盖所有内容，支持背景颜色、图标、显示时长等个性化设置。适用于需要在应用中提供更灵活和美观的通知或警告信息的场景，尤其适合追求 Material Design 风格的应用开发。","2026-06-11 03:11:24","top_language"]