是否有反正我可以告诉吐司通知只显示一段指定的时间。通常短于常规的吐司消息。设置吐司显示长度
设置吐司显示长度
回答
我找到了解决此通过调用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. 吐司不显示
- 3. 吐司不显示
- 4. GPS位置不显示吐司
- 5. 显示java.lang.NullPointerException展出吐司
- 6. 无法显示吐司
- 7. 吐司无法显示
- 8. 吐司没有显示
- 9. 吐司没有在catch catch中显示
- 10. 单击列表后的显示吐司
- 11. 吐司不在asynctask中显示
- 12. 四个活动不显示吐司
- 13. 只显示一次吐司 - 安卓
- 14. 将当前地址显示为吐司
- 15. 吐司不是用genymotion模拟显示
- 16. 需要显示吐司后点击
- 17. 无法显示吐司从onItemClick()
- 18. 在任何情况下显示吐司
- 19. 错误吐司
- 20. 吐司消息
- 21. 吐司崩溃
- 22. Android:进度对话框和吐司
- 23. 显示设置宽度:表
- 24. libGDX吐司消息
- 25. Android吐司为UWP
- 26. 吐司每X秒
- 27. iPhone的Android吐司?
- 28. 吐司消息android
- 29. 吐司不出现
- 30. 坏吐司旋转
我已经开发了一个自定义Toast类,你可以用它显示Toast一段指定的时间...看看我的答案http://stackoverflow.com/questions/2220560/can-an-android-toast - 更长的比烤面包长度长/ 21203554#21203554 – 2014-01-18 12:43:25