android 弹窗风格,Alerter一个Android 下拉风格的弹窗

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.

625332134c6f4d4600884b99daebf603.png625332134c6f4d4600884b99daebf603.png625332134c6f4d4600884b99daebf603.png625332134c6f4d4600884b99daebf603.png

625332134c6f4d4600884b99daebf603.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:3.0.1'

}

Kotlin

Version 3.0.0 and above requires Kotlin

Usage

625332134c6f4d4600884b99daebf603.png

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

625332134c6f4d4600884b99daebf603.png

Icon

Alerter.create(this@DemoActivity)

.setText("Alert text...")

.setIcon(R.drawable.alerter_ic_mail_outline)

.setIconColorFilter(0) // Optional - Removes white tint

.show()

625332134c6f4d4600884b99daebf603.png

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

625332134c6f4d4600884b99daebf603.png

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

625332134c6f4d4600884b99daebf603.png

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

625332134c6f4d4600884b99daebf603.png

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

625332134c6f4d4600884b99daebf603.png

Swipe to Dismiss

Alerter.create(this@DemoActivity)

.setTitle("Alert Title")

.setText("Alert text...")

.enableSwipeToDismiss()

.show()

625332134c6f4d4600884b99daebf603.png

Progress Bar

Alerter.create(this@DemoActivity)

.setTitle("Alert Title")

.setText("Alert text...")

.enableProgress(true)

.setProgressColorRes(R.color.colorAccent)

.show()

625332134c6f4d4600884b99daebf603.png

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

625332134c6f4d4600884b99daebf603.png

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.

625332134c6f4d4600884b99daebf603.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值