设置Android Toast持续时间非常长(例如,1分钟)

时间:2014-01-15 10:16:06

标签: android toast duration

我尝试设置我的Toast节目持续时间,如1分钟。 我试试这个:

  final Toast toast = Toast.makeText(getApplicationContext(), "MESSAGE", Toast.LENGTH_LONG );
  toast.show();

    Handler handler = new Handler();
            handler.postDelayed(new Runnable() {
               @Override
               public void run() {
                   toast.cancel(); 
                   }
            }, 60000);

感谢您的帮助。

7 个答案:

答案 0 :(得分:7)

由于LENGTH_SHORT为2秒(而LENGTH_LONG为3.5秒),请尝试以下操作:

for (int i=0; i < 30; i++)
{
    Toast.makeText(this, "MESSAGE", Toast.LENGTH_SHORT).show();
}

答案 1 :(得分:4)

只有两种可能的Toast持续时间:短(2秒)和长(3.5秒)。

如果您需要更持久的消息,请使用对话框或在布局中包含消息。

使用自定义持续时间在布局中制作上下文相关消息的一种简单方法是Crouton library

答案 2 :(得分:3)

看看这个answer

  

LENGTH_SHORTLENGTH_LONG的值为0和1.这意味着它们被视为标志而不是实际持续时间,因此我认为不可能将持续时间设置为其他任何其他值而不是这些价值观。

答案 3 :(得分:2)

您可以使用Crouton,此库为您提供设置持续时间和自定义外观的可能性(http://www.grokkingandroid.com/useful-android-libraries-crouton/

答案 4 :(得分:1)

final Toast tag = Toast.makeText(getBaseContext(), "YOUR MESSAGE",Toast.LENGTH_SHORT);

tag.show();

new CountDownTimer(9000, 1000) {

    public void onTick(long millisUntilFinished) {tag.show();}
    public void onFinish() {tag.show();}

}.start();

请参阅Similar Question and answer there.

答案 5 :(得分:0)

吐司不应该像这样使用。 Toasts是瞬态的,Android已将它们定义为SHORT或LONG。

如果你愿意,你可以创建一个Dialog,而不是完全模仿Toast的外观,但是我会使用一个可忽略的对话框或通知,因为如果用户在没有解雇它的可能性。

答案 6 :(得分:0)

如果您想根据自己的喜好展示烤面包,就必须制作带有所需时间双重特色的定制烤面包

                View toastview = findViewById(R.id.customtoastlayout);
                LinearLayout mToastLayout = 
                toastview.findViewById(R.id.toastlayout);
                TextView text = toastview.findViewById(R.id.customToastText);
                text.setText(message);
                Toast toast = new Toast(getApplicationContext());
                toast.setGravity(Gravity.TOP | Gravity.RIGHT, 90, 0);
                toast.setDuration(duration);//custom duartion
                toast.setView(mToastLayout);
                toast.show();