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

