編輯:關於Android編程
Toast是一種簡易的消息提示框,它無法獲取焦點,按設置的時間來顯示完以後會自動消失,一般用於幫助或提示。
先給大家分享下我的解決思路:
不用計算Toast的時間之類的,就是定義一個全局的成員變量Toast, 這個Toast不為null的時候才去make,否則直接setText.為了按返回鍵後立即使Toast不再顯示,重寫父類Activity的onBackPressed()方法裡面去cancel你的Toast即可.
代碼:
private Toast mToast; public void showToast(String text) { if(mToast == null) { mToast = Toast.makeText(TestActivity.this, text, Toast.LENGTH_SHORT); } else { mToast.setText(text); mToast.setDuration(Toast.LENGTH_SHORT); } mToast.show(); } public void cancelToast() { if (mToast != null) { mToast.cancel(); } } public void onBackPressed() { cancelToast(); super.onBackPressed(); }
下面介紹下解決Android Toast重復顯示等待時間過長的問題
當觸發點擊事件顯示toast信息時,如果設置了時間長短類型為LENGTH_LONG,雖然回到後台運行,但是依然會顯示toast信息,尤其是當連續點擊時,toast就會排隊等待直到所有toast顯示完畢,這種界面的用戶體驗是很差的。
→ 1 toast 2 toast 3 toast 4 toast 5 toast →
為了避免這種問題,可以再toast信息顯示的地方加個判斷,方法如下:
private Context mcontext; private Toast mtoast; if(mtoast!=null) { mtoast.setText(R.string.neterror); } else { /* * 第一個參數:當前的上下文環境,用this或getApplicationContext()表示。 * 第二個參數:顯示的字符串,用R.string表示。 * 第三個參數:顯示的時間長短。用LENGTH_LONG(長)或LENGTH_SHORT(短)表示,也可以用毫秒。 */ mtoast=Toast.makeText(mcontext,R.string.neterror, Toast.LENGTH_SHORT); } mtoast.show(); //顯示toast信息
另外,還可以通過設置Toast的其他屬性來設計自己風格的Toast消息框。
android系統中的每個ViewGroup的子類都具有下面三個和TouchEvent處理密切相關的方法: 1)public boolean dispatchTouc
雖然自己已經完成了百度地圖的調用,但是在使用過程中產生很多的疑問,在不斷的百度各種大神的作品後才慢慢的調試出來,所以覺得作為新手自己應該把這個過程記錄下來。尤其是自己在找
以前做的手機項目,並沒有要求混淆,一直沒時間去看,等到做了平板,有混淆的需求才要硬著頭皮去看混淆到底是如何工作的,以及如何混淆驗證成功,參考一篇博客,講的非常詳細,而且每
我們經常看到不管是某寶還是某東都有加入購物車的動畫。就是在點擊某個商品後,這個商品變成小的縮略圖移動到購物車裡面去。今天突然想著把原來做過的這麼一個動畫貼出來供大家學習。