Android 開發(fā)之Dialog,Toast,Snackbar提醒
今天給大家?guī)硪黄唵我锥奈⒓记晌恼?,并沒有什么高深的技術(shù)點(diǎn),但重點(diǎn)是在細(xì)節(jié),相信可以給不少朋友帶來幫助。
Dialog和Toast所有人肯定都不會陌生的,這個我們平時用的實(shí)在是太多了。而Snackbar是Design Support庫中提供的新控件,有些朋友可能已經(jīng)用過了,有些朋友可能還沒去了解。但是你真的知道什么時候應(yīng)該使用Dialog,什么時候應(yīng)該使用Toast,什么時候應(yīng)該使用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();
運(yùn)行在不同版本的手機(jī)上顯示的效果會不同,但是既然說到了是小技巧,Google已經(jīng)充分考慮到了這一點(diǎn),在appcompat-v7庫中也提供了一個AlertDialog類:
import android.support.v7.app.AlertDialog;
2,Toast
先看一下Toast的基本用法:
Toast.makeText(context, "things happened", Toast.LENGTH_SHORT).show();
但是如果我們手打滑,點(diǎn)擊了5次toast會出現(xiàn)五次,因?yàn)槭潜粍拥模圆荒芗皶r讓其消失;然而我?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,下面我們對這三種方式的使用時機(jī)做個總結(jié):
Dialog:當(dāng)提示信息是至關(guān)重要的,并且必須要由用戶做出決定才能繼續(xù)的時候,使用Dialog。
Toast:當(dāng)提示信息只是告知用戶某個事情發(fā)生了,用戶不需要對這個事情做出響應(yīng)的時候,使用Toast。
Snackbar:以上兩者之外的任何其他場景,Snackbar可能會是你最好的選擇。
感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!
相關(guān)文章
Android編程之監(jiān)聽器的實(shí)現(xiàn)方法
這篇文章主要介紹了Android編程之監(jiān)聽器的實(shí)現(xiàn)方法,以實(shí)例形式較為詳細(xì)的分析了Android監(jiān)聽器的創(chuàng)建、注冊及相關(guān)使用技巧,需要的朋友可以參考下2015-11-11Android開發(fā)實(shí)現(xiàn)的Log統(tǒng)一管理類
這篇文章主要介紹了Android開發(fā)實(shí)現(xiàn)的Log統(tǒng)一管理類,涉及Android日志管理及方法重載等相關(guān)操作技巧,需要的朋友可以參考下2017-12-12android studio3.0.1無法啟動Gradle守護(hù)進(jìn)程的解決方法
這篇文章主要為大家詳細(xì)介紹了android studio3.0.1無法啟動Gradle守護(hù)進(jìn)程的解決方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-08-08Android通過ImageView設(shè)置手指滑動控件縮放
這篇文章主要介紹了Android通過ImageView設(shè)置手指滑動控件縮放效果,非常不錯,具有參考借鑒價(jià)值,需要的朋友可以參考下2017-12-12關(guān)于Android高德地圖的簡單開發(fā)實(shí)例代碼(DEMO)
高德地圖在日常生活中經(jīng)常會用到,那么基于代碼如何實(shí)現(xiàn)高德地圖呢?下面小編給大家分享一個demo幫助大家學(xué)習(xí)android高德地圖的簡單開發(fā),需要的朋友參考下2016-11-11