Настройка продолжительности сообщений Crouton в Android

Я начал использовать сообщения Crouton вместо всплывающих сообщений, потому что я мог настроить продолжительность времени. Есть ли способ, которым я могу отображать сообщение с гренками до определенного события, а не указывать время в определенных единицах?


person SoulRayder    schedule 27.11.2013    source источник


Ответы (2)


Вы можете установить продолжительность крутона на INFINITE из Configuration. Затем добавьте к нему OnClickListener, в котором вы вызываете Crouton.hide(...) следующим образом:

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();
person keyboardsurfer    schedule 27.11.2013
comment
Спасибо за ваш ответ, но могу ли я вызвать Crouton.hide(crouton) без слушателя по клику? Я имею в виду, могу ли я вызвать только функцию скрытия в ветке if? - person SoulRayder; 27.11.2013
comment
Еще один вопрос, должны ли переменные крутона быть окончательными? Или мы можем объявить каким-то образом, используя обычные объявления. Потому что в настоящее время методы show и hide дают ошибку, если я пытаюсь использовать переменные, не являющиеся конечными крутонами. - person SoulRayder; 27.11.2013
comment
На ваш первый вопрос. Вы можете спрятать Крутон как угодно. Второй вопрос: Да, он должен быть окончательным, если вы пытаетесь получить к нему доступ из внутреннего класса. - person keyboardsurfer; 27.11.2013
comment
После объявления гренок так же, как в классе MainActivity, я вызываю AsyncTask, из которого я вызываю функции отображения и скрытия из runOnUiThread в функции doInbackground(). Я продолжаю получать исключение нулевого указателя, связанное с гренками. Подскажите, пожалуйста, как это исправить? - person SoulRayder; 27.11.2013
comment
Это другой вопрос. Пожалуйста, спросите об этом и включите туда трассировку стека. - person keyboardsurfer; 27.11.2013
comment
как добавить его в определенный вид Crouton.makeText(MainActivity.this, подключенный к интернированному, Style.INFO, R.id.main_crouton).setConfiguration(new Configuration.Builder().setDuration(Configuration.DURATION_SHORT).build ()).показывать(); как это ? - person Kaustubh Bhagwat; 06.10.2017
comment
@KaustubhBhagwat это отдельный вопрос. - person keyboardsurfer; 06.10.2017
comment
@keyboardsurfer я хочу установить только продолжительность .. но для представления, т.е. R.id.main_crouton, который является макетом кадра в моей деятельности - person Kaustubh Bhagwat; 06.10.2017

Вместо использования библиотеки Crouton вы можете просто добавить view и установить для нее onClickListener. Когда пользователь нажимает на нее, view удаляется из Layout.

person Community    schedule 27.11.2013