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 就可以
解决这个问题。