Android 開發(fā)之Dialog,Toast,Snackbar提醒
今天給大家?guī)?lái)一篇簡(jiǎn)單易懂的微技巧文章,并沒有什么高深的技術(shù)點(diǎn),但重點(diǎn)是在細(xì)節(jié),相信可以給不少朋友帶來(lái)幫助。
Dialog和Toast所有人肯定都不會(huì)陌生的,這個(gè)我們平時(shí)用的實(shí)在是太多了。而Snackbar是Design Support庫(kù)中提供的新控件,有些朋友可能已經(jīng)用過(guò)了,有些朋友可能還沒去了解。但是你真的知道什么時(shí)候應(yīng)該使用Dialog,什么時(shí)候應(yīng)該使用Toast,什么時(shí)候應(yīng)該使用Snackbar嗎?先看效果圖:



1,Dialog
首先來(lái)介紹一下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ī)上顯示的效果會(huì)不同,但是既然說(shuō)到了是小技巧,Google已經(jīng)充分考慮到了這一點(diǎn),在appcompat-v7庫(kù)中也提供了一個(gè)AlertDialog類:
import android.support.v7.app.AlertDialog;
2,Toast
先看一下Toast的基本用法:
Toast.makeText(context, "things happened", Toast.LENGTH_SHORT).show();
但是如果我們手打滑,點(diǎn)擊了5次toast會(huì)出現(xiàn)五次,因?yàn)槭潜粍?dòng)的,所以不能及時(shí)讓其消失;然而我?guī)Ыo大家的小技巧就是用ToastUtils.java來(lái)封裝:
package com.gyq.dialog;
import android.content.Context;
import android.widget.Toast;
/**
* 將Toast封裝成一個(gè)接口,寫在公共的工具類中
* 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,下面我們對(duì)這三種方式的使用時(shí)機(jī)做個(gè)總結(jié):
Dialog:當(dāng)提示信息是至關(guān)重要的,并且必須要由用戶做出決定才能繼續(xù)的時(shí)候,使用Dialog。
Toast:當(dāng)提示信息只是告知用戶某個(gè)事情發(fā)生了,用戶不需要對(duì)這個(gè)事情做出響應(yīng)的時(shí)候,使用Toast。
Snackbar:以上兩者之外的任何其他場(chǎng)景,Snackbar可能會(huì)是你最好的選擇。
感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!
相關(guān)文章
Android編程之監(jiān)聽器的實(shí)現(xiàn)方法
這篇文章主要介紹了Android編程之監(jiān)聽器的實(shí)現(xiàn)方法,以實(shí)例形式較為詳細(xì)的分析了Android監(jiān)聽器的創(chuàng)建、注冊(cè)及相關(guān)使用技巧,需要的朋友可以參考下2015-11-11
Android開發(fā)實(shí)現(xiàn)的Log統(tǒng)一管理類
這篇文章主要介紹了Android開發(fā)實(shí)現(xiàn)的Log統(tǒng)一管理類,涉及Android日志管理及方法重載等相關(guān)操作技巧,需要的朋友可以參考下2017-12-12
android studio3.0.1無(wú)法啟動(dòng)Gradle守護(hù)進(jìn)程的解決方法
這篇文章主要為大家詳細(xì)介紹了android studio3.0.1無(wú)法啟動(dòng)Gradle守護(hù)進(jìn)程的解決方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-08-08
Android通過(guò)ImageView設(shè)置手指滑動(dòng)控件縮放
這篇文章主要介紹了Android通過(guò)ImageView設(shè)置手指滑動(dòng)控件縮放效果,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2017-12-12
關(guān)于Android高德地圖的簡(jiǎn)單開發(fā)實(shí)例代碼(DEMO)
高德地圖在日常生活中經(jīng)常會(huì)用到,那么基于代碼如何實(shí)現(xiàn)高德地圖呢?下面小編給大家分享一個(gè)demo幫助大家學(xué)習(xí)android高德地圖的簡(jiǎn)單開發(fā),需要的朋友參考下2016-11-11

