国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統(tǒng) > Android > 正文

Android 開發(fā)之Dialog,Toast,Snackbar提醒

2019-12-12 03:24:45
字體:
供稿:網(wǎng)友

今天給大家?guī)硪黄唵我锥奈⒓记晌恼拢]有什么高深的技術(shù)點,但重點是在細節(jié),相信可以給不少朋友帶來幫助。

Dialog和Toast所有人肯定都不會陌生的,這個我們平時用的實在是太多了。而Snackbar是Design Support庫中提供的新控件,有些朋友可能已經(jīng)用過了,有些朋友可能還沒去了解。但是你真的知道什么時候應該使用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已經(jīng)充分考慮到了這一點,在appcompat-v7庫中也提供了一個AlertDialog類:

import android.support.v7.app.AlertDialog;

2,Toast

先看一下Toast的基本用法:

Toast.makeText(context, "things happened", Toast.LENGTH_SHORT).show();

但是如果我們手打滑,點擊了5次toast會出現(xiàn)五次,因為是被動的,所以不能及時讓其消失;然而我?guī)Ыo大家的小技巧就是用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,小結(jié)

現(xiàn)在你有三種方式可以給用戶提示信息,Dialog、Toast和Snackbar,下面我們對這三種方式的使用時機做個總結(jié):

Dialog:當提示信息是至關(guān)重要的,并且必須要由用戶做出決定才能繼續(xù)的時候,使用Dialog。
Toast:當提示信息只是告知用戶某個事情發(fā)生了,用戶不需要對這個事情做出響應的時候,使用Toast。
Snackbar:以上兩者之外的任何其他場景,Snackbar可能會是你最好的選擇。

感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 吴旗县| 靖安县| 湟中县| 渭南市| 孟州市| 扶风县| 北碚区| 保德县| 潍坊市| 神池县| 兰州市| 原阳县| 那坡县| 凤庆县| 安福县| 伊川县| 湘乡市| 郯城县| 库车县| 顺义区| 达日县| 巩留县| 南皮县| 木里| 甘泉县| 慈利县| 尼木县| 荥经县| 桃园市| 红河县| 通河县| 宣武区| 三台县| 宜黄县| 武穴市| 墨脱县| 云南省| 安西县| 巴东县| 工布江达县| 钦州市|