Dialog、Toast 和 Snackbar 的使用小结

1、对话框


Dialog 有两个相关的包,一个是 android.support.v7.app.AlertDialog 另一个是 android.app.AlertDialog
前者是基于 Material Design 设计原则的,所以相对来说会漂亮一些,不过应该因业务需求而已吧。后者如果自
定义对话框的话其实也蛮漂亮的,只是在开发的时候注意一下使用的是哪个包就好。


还有使用 DataPicker 和 TimePicker 的时候可以传入对话框的初始日期,在时间对话框的最后一个参数中,可
以传入一个 boolean 类型的值,用于表示设置当前的时间选择对话框是否是 24 小时制的。(笔者认为使用24小时
制的效果会好一些,因为使用上午下午的时候在 0:00 下午表示的是中午 12 点呢还是晚上 12 点呢?我觉得会有些
费解。)


2、Toast

这个之前就在阅读一个源码的时候看到过,主要是 Toast 的更新问题,这里主要是解决当一个 Toast 已经存在,
下一个 Toast 会等待当前 Toast 结束再执行,用户体验很不好解决的办法是:

public class Util {
    private static Toast toast;
    public static void showToast(Context context, String content) {
        if (toast == null) {
            toast = Toast.makeText(context, content, Toast.LENGTH_SHORT);
        } else {
            toast.setText(content);
        }
        toast.show();
    }
}

也就是使用单例的模式,上面的方式是从郭霖的博客中看到的。这样就将 Toast 封装了起来。

 

3、关于Snackbar


在我的程序中,我曾经用过它,它可以往其中添加文本和 View,用起来方便,不过笔者认为它更好的好处在于,
使用 Toast 的时候会影响到界面当中的动画,就是说因为 Toast 弹出,会导致界面的动画卡顿,而是用 Snackbar 就可以
解决这个问题。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值