Dialog,Toast和Snackbar

一、Dialog,Toast和Snackbar

1、Dialog:当提示信息至关重要的时候,并且需要由用户做出决定才能继续的时候使用。
2、Toast:当提示消息只是告知用户某个事情发生了,用户不需要对这个事情做出响应的时候。
3、以上两者之外的任何其他场景。

二、为优化Toast等,一般需要封装Toast:这里使用开源的一个封装(SmartToast):

1、SmartToast的特点:
①全局始终使用一个Toast实例,节省内存开销
②如果Toast正在显示,多次触发同一个内容的Toast,不会重复弹出。
③新的Toast(内容或位置发生了变化)来临时,会立即弹出,不会等到当前显示的Toast的duration耗尽再弹出,虽不会创建新的Toast实例,但具有切换效果(与你手机系统原生Toast的切换动画一致)
④可修改Toast默认布局的风格,如背景颜色,文字大小和颜色等
⑤可为Toast设置自定义布局,并进行代码处理

2、实现的demo:
a.在Application中初始化SmartToast:
SmartToast.plainToast(this);
b.可以设置SmartToast的颜色样式等:
SmartToast.plainToast(this)
.backgroundColorRes(R.color.colorPrimary)
.textColorRes(R.color.colorAccent)
.textSizeSp(18)
.textBold(true)
.processPlainView(new ProcessViewCallback() {
@Override
public void processPlainView(LinearLayout outParent, TextView msgView) {
super.processPlainView(outParent, msgView);
}
});
}

c.在Application中声明自己的Application:
android:name=".MyApplication"

d.在Activity中使用:
case R.id.btn_toast2:
SmartToast.show("Dammyouh");
SmartToast.showAtTop("Dammyouh");
SmartToast.showInCenter("Dammyouh");

你可能感兴趣的:(Dialog,Toast和Snackbar)