是否有反正我可以告訴吐司通知只顯示一段指定的時間。通常短於常規的吐司消息。設置吐司顯示長度
設置吐司顯示長度
回答
我找到了解決此通過調用toast.cancel()一定的延遲比所述標準吐司持續時間短後。
final Toast toast = Toast.makeText(ctx, "This message will disappear in 1 second", Toast.LENGTH_SHORT);
toast.show();
Handler handler = new Handler();
handler.postDelayed(new Runnable() {
@Override
public void run() {
toast.cancel();
}
}, 1000);
號
你可以這樣做:
Toast a = Toast.makeText(this, "a", Toast.LENGTH_LONG);
a.setDuration(300);
,但它不會顯示自己。
持續時間應該是LENGTH_SHORT
或LENGTH_LONG
。
可以通過使用一劈設置更長的持續時間,如所述的here
//嘗試
public void myToast(String message) {
LayoutInflater myInflator = getLayoutInflater();
View myLayout = myInflator.inflate(R.layout.custom_layout,
(ViewGroup) findViewById(R.id.toastlayout));
TextView myMessage = (TextView) myLayout.findViewById(R.id.label);
myMessage.setText(message);
Toast toast = new Toast(getApplicationContext());
toast.setView(myLayout);
toast.setDuration(400);
myMessage.setGravity(Gravity.TOP | Gravity.CENTER_HORIZONTAL
| Gravity.CENTER_VERTICAL);
toast.show();
}
我認爲這不會延長持續時間。如果持續時間不是LENGTH_SHORT或LENGTH_LONG,則默認爲LENGTH_LONG。該方法本質上接受任意值,但實際上,只有在值不爲零時纔會改變行爲(吐司長度)。 – 2013-02-13 19:34:58
試試這個
final Toast toast = Toast.makeText(getBaseContext(), "YOUR MESSAGE",Toast.LENGTH_SHORT);
toast.show();
new CountDownTimer(10000, 1000)
{
public void onTick(long millisUntilFinished) {toast.show();}
public void onFinish() {toast.cancel();}
}.start();
希望這有助於..享受.. !!!
股票Android Toast類被編碼爲在接收Toast時僅接受Toast.LENGTH_SHORT或Toast.LENGTH_LONG參數。這些參數的值分別爲0和1,並且在調用setDuration()時不會接受任何毫秒值。如果您必須在不同的時間內顯示Toast,則可以考慮使用我的SuperToasts圖書館中的課程。庫中的SuperToast類是股票Android Toast類的模仿,可以將任何毫秒值用作持續時間參數。由於這些敬酒的揮之不去,我不建議使用此課程來展示Toast 長於最大股票Android Toast長度的。我建議您使用SuperActivityToast類來在活動/片段中顯示Toast消息,因爲Toast將隨着您的活動一起銷燬,從而消除任何延遲消息的機會。要使用這個類,你可以創建一個新的對象:
SuperActivityToast superActivityToast = new SuperActivityToast(this);
superActivityToast.setDuration(SuperToast.DURATION_SHORT);
// setDuration(); can also accept millisecond values
// superActivityToast.setDuration(1000);
superActivityToast.setText("Hello world!");
superActivityToast.show();
或者使用靜態方法:
SuperActivityToast.createDarkSuperActivityToast(this, "Hello world!", SuperToast.DURATION_SHORT).show();
有噸你可以使用庫中的自定義選項爲好,檢查出Wiki頁!
下面是配置每個你所選擇的時間另一種方式:
public void showMsg(String msg, final long duration) {
final Toast toast = Toast.makeText(getApplicationContext(), msg, Toast.LENGTH_LONG);
toast.show();
Thread t = new Thread() {
public void run(){
try {
sleep(duration);
toast.cancel();
} catch (InterruptedException e) {
e.printStackTrace();
}
finally { }
}
};
t.start();
}
注:時間以毫秒爲單位。
嘗試沒有成功... – zeflex 2014-08-28 15:31:58
- 1. 吐司消息長度
- 2. ActionbarSherlock:長按操作項顯示吐司?
- 3. 吐司不顯示
- 4. 吐司不顯示
- 5. GPS位置不顯示吐司
- 6. 吐司無法顯示
- 7. Android如何顯示吐司?
- 8. 吐司沒有顯示
- 9. 無法顯示吐司
- 10. 顯示java.lang.NullPointerException展出吐司
- 11. 如何顯示數組中的吐司
- 12. 計劃的吐司顯示多次
- 13. 微調烤箱吐司不顯示
- 14. 在鍵盤上方顯示吐司
- 15. 吐司不是用genymotion模擬顯示
- 16. 需要顯示吐司後點擊
- 17. 無法顯示吐司從onItemClick()
- 18. 在當前服務中顯示吐司
- 19. 單擊列表後的顯示吐司
- 20. 將當前地址顯示爲吐司
- 21. 四個活動不顯示吐司
- 22. 爲什麼我的吐司不顯示
- 23. 吐司不在asynctask中顯示
- 24. 吐司和圖片未顯示
- 25. 字符串不顯示在android吐司
- 26. 吐司沒有在catch catch中顯示
- 27. 只顯示一次吐司 - 安卓
- 28. 在任何情況下顯示吐司
- 29. 禁用吐司的異步顯示
- 30. 爲什麼吐司總是顯示10?
我已經開發了一個自定義Toast類,你可以用它顯示Toast一段指定的時間...看看我的答案http://stackoverflow.com/questions/2220560/can-an-android-toast - 更長的比烤麪包長度長/ 21203554#21203554 – 2014-01-18 12:43:25