標籤:
我們這樣做的時候經常登入認證使用toast提示使用者輸入出現錯誤等。。很多人都直接使用
Toast.makeText(LoginActivity.this, "請聯絡小區的物業管理", Toast.LENGTH_SHORT).show();
然而。以登陸功能為例。用這個的時候你會發現我在沒有輸入username的時候一直點擊登陸button。程式會一直提示"請輸入username"等字樣。然後你不點擊的時候,程式還會提示。直到提示到跟你點擊次數一致時,才會停止提示,這樣給使用者的體驗是極度不好的,所以提供一個toast的類,
public class CustomToast {private static Toast mToast;private static Handler mhandler = new Handler();private static Runnable r = new Runnable() {public void run() {mToast.cancel();};};public static void showToast(Context context, String text, int duration) {mhandler.removeCallbacks(r);if (null != mToast) {mToast.setText(text);} else {mToast = Toast.makeText(context, text, Toast.LENGTH_SHORT);}mhandler.postDelayed(r, 5000);mToast.show();}public static void showToast(Context context, int strId, int duration) {showToast(context, context.getString(strId), duration);}}
這樣就能夠解決一直彈toast訊息的問題了
調用方法:CustomToast.showToast(this,"要內容輸出",Toast.LENGTH_SHORT);
著作權聲明:本文博主原創文章,部落格,未經同意不得轉載。
android 該項目的最佳化toast最佳化技巧