Использование Snackbar для устройств 5.0+

Поэтому я хочу создать приложение, поддерживающее ТОЛЬКО устройства Lollipop и выше.

Но у меня есть вариант использования, который требует необходимости Snackbar с опцией ОТМЕНА. После прочтения, кажется, я должен:

  • Использовать CoordinatorLayout (поддержка библиотеки одна)
  • использование AppCompatActivityне Activity
  • использование Theme.AppCompat.(...) вместо android:Theme.Material
  • Изменения в любом другом представлении в приложении, включая ActionBar просто чтобы быть совместимым с AppCompat (отчасти иронично)

Это действительно единственный способ использовать базовую функциональность, такую ​​как Snackbar - нужно переписать все в другом месте?

Пожалуйста, скажите, пожалуйста, есть лучший выход. Это просто не имеет никакого смысла!

2 ответа

Решение

Действительно ли это единственный способ использовать базовую функциональность, такую ​​как Snackbar, - переписывать все в другом месте?

Нужно ли вам CoordinatorLayout зависит от того, где и как вы показываете Snackbar,

Помимо этого, однако, использовать официальный Snackbar Реализация без изменений, вы должны пройти через все эти махинации.

Вы можете использовать независимые реализации шаблона "закусочной", такого как этот, который я использую. AFAIK они все были прекращены их авторами, в пользу официального выполнения.

Что касается трассировки исключений, которую вы добавили в комментариях, я думаю, что это вызвано тем, что вы не добавили зависимость для 'com.android.support:design:23.1.1' в вашем build.gradle файл.

Кроме этого CoordinatorLayout просто используется для размещения плавающих действий, которые могут перемещаться вверх / вниз, когда отображается снэк-бар

Другие вопросы по тегам