2/2 Виджеты, на чем пишем и где скрывается боль 🔧
В android вы можете писать виджеты либо на RemoteView используя XML. Уведомления тоже пишутся на этой технологии, я с этим работал делая LiveUpdate.
Либо вы можете использовать Glance, который позволяет писать виджеты на Compose.
Glance дает писать декларативно, но под капотом это транслятор на RemoteViews, отсюда все те же ограничения что и на RemoteViews.
И это еще часть беды. Помимо верстки виджетов, вам надо создать еще preview – то, что пользователь видит в меню выбора в системном окне.
Есть три варианта это сделать:
1. Верстать на xml вручную.
2. Запекать картинку и подкладывать ее в xml виджета.
3. Использовать Glance Preview, где все равно для версий ниже Android 12 надо будет запекать картинку-фоллбек.
Чтобы завести Glance preview, придется немного потанцевать с бубном: прописать зависимости, обвязки и все равно смириться с тем, что под старые версии ОС автоматизации нет.
Итог таков: если вы решите делать виджеты, будьте готовы, что это далеко не так весело, как красить кнопки в основном UI приложения. В лучшем случае треть времени уйдет не на фичи, а на настройку и создание обвязок для этой легаси-технологии внутри Android.
Post #22
263

- 👾 3