欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

Android 开发之Dialog,Toast,Snackbar提醒

程序员文章站 2023-11-27 08:41:04
今天给大家带来一篇简单易懂的微技巧文章,并没有什么高深的技术点,但重点是在细节,相信可以给不少朋友带来帮助。 dialog和toast所有人肯定都不会陌生的,这个我们平时...

今天给大家带来一篇简单易懂的微技巧文章,并没有什么高深的技术点,但重点是在细节,相信可以给不少朋友带来帮助。

dialog和toast所有人肯定都不会陌生的,这个我们平时用的实在是太多了。而snackbar是design support库中提供的新控件,有些朋友可能已经用过了,有些朋友可能还没去了解。但是你真的知道什么时候应该使用dialog,什么时候应该使用toast,什么时候应该使用snackbar吗?先看效果图:
Android 开发之Dialog,Toast,Snackbar提醒Android 开发之Dialog,Toast,Snackbar提醒Android 开发之Dialog,Toast,Snackbar提醒

1,dialog

首先来介绍一下dialog的用法:

alertdialog.builder builder = new alertdialog.builder(this);
        builder.settitle("title")
            .setmessage("dialog content")
            .setpositivebutton("ok", new dialoginterface.onclicklistener() {
              @override
              public void onclick(dialoginterface dialog, int which) {
                dialog.dismiss();
              }
            })
            .setnegativebutton("cancel", new dialoginterface.onclicklistener() {
              @override
              public void onclick(dialoginterface dialog, int which) {
                dialog.dismiss();
              }
            }).show();

运行在不同版本的手机上显示的效果会不同,但是既然说到了是小技巧,google已经充分考虑到了这一点,在appcompat-v7库中也提供了一个alertdialog类:

import android.support.v7.app.alertdialog;

2,toast

先看一下toast的基本用法:

toast.maketext(context, "things happened", toast.length_short).show();

但是如果我们手打滑,点击了5次toast会出现五次,因为是被动的,所以不能及时让其消失;然而我带给大家的小技巧就是用toastutils.java来封装:

package com.gyq.dialog;

import android.content.context;
import android.widget.toast;

/**
 * 将toast封装成一个接口,写在公共的工具类中
 * author: gyq
 * create at 2017/1/11 14:30
 */
public class toastutils {
  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();
  }
}

然后使用在其他类中:

toastutils.showtoast(this,"this is a toast !");

3,snackbar

首先我们要在app/build.gradle闭包下:

compile 'com.android.support:design:24.2.1'

然后是使用:

snackbar.make(msnackbarbtn,"data delete",snackbar.length_long)
            .setaction("yes", new view.onclicklistener() {
              @override
              public void onclick(view v) {

              }
            }).show();

4,小结

现在你有三种方式可以给用户提示信息,dialog、toast和snackbar,下面我们对这三种方式的使用时机做个总结:

dialog:当提示信息是至关重要的,并且必须要由用户做出决定才能继续的时候,使用dialog。
toast:当提示信息只是告知用户某个事情发生了,用户不需要对这个事情做出响应的时候,使用toast。
snackbar:以上两者之外的任何其他场景,snackbar可能会是你最好的选择。

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!