Setting the duration of Crouton messages in Android

android, crouton

Solution

You can set the Crouton's duration to `INFINITE` from within the `Configuration`. Then add an `OnClickListener` to it in which you call `Crouton.hide(...)` like this:

final Crouton crouton = Crouton.makeText(new Activity(), "foo", Style.ALERT)
    .setConfiguration(new Configuration.Builder().setDuration(Configuration.DURATION_INFINITE).build());

crouton.setOnClickListener(new View.OnClickListener() {
  @Override
  public void onClick(View v) {
    Crouton.hide(crouton);
  }
});

crouton.show();

Problem

I have started using Crouton messages instead of toast messages because I could configure the time duration. Is there any way I can keep displaying the crouton message until a particular event rather than specifying the time in definite units?

Original source