Cервис общения: история переписки
Экспериментирую с окном истории переписки. Работал над отправкой сообщений, добрался до отправки сообщений и возникла необходимость визуализировать состояния сообщения:
- отправляется
- ошибка отправки
- ушло на сервер
- принято получателем
- получатель прочитал
Визуализировал состояние и решил попробовать сделать визуально приятные подложки для сообщений. Провозился вечер с этой задачей, сегодня вернулся к ней 🤯
На картинке выше виден результат.
Форма подложек устроила нормальная, в конце хвостики добавил. А еще сгруппировал сообщения от разных отправителей и расстояния между сообщениями настроил.
Но не получалось рисовать градиент на подложках 😂 В общем так-сяк-наперекосяк, никак он не рендерился или рендерился в локалспейсе подложки и занятие из "попробую сделать за 5 минут" превратилось в личного врага ("или ты меня или я тебя") 😂.
В итоге создал отдельный проект только с подложкой для экспериментов и вот как справился:
Вру, не справился.
Видите сверху полоска проглядывает? И снизу при промотке вверх полоска проглядывает. Это мои косяки иногда выглядывают из-под белой заливки фона 😂
Через пару часов развлечений пришел к долгожданному результату:
Отрисовка фона чата оказалась еще той задачкой со звездочкой 😂 Но хоть косяки перестали выглядывать. Рендерится это все дело оптимально настолько, насколько позволяет Flutter.
Пришлось уработаться 😂 для достижения подобного результата.
Стало ну очень интересно что же реализовали в Максе. А в нем реализовали так:
1) запретили эффект физического натяжения истории переписки (пробовал в списке чатов тянуть - не тянется)
2) на подложках однотонный цвет, градиентов нет
Но Макс уже можно было скачать и вроде как его даже скачивают и пользуются несмотря на то, что он не работает нормально. А разрабатываемый мной мессенджер пока не работает и его не скачивают 😂😂😂 Надо бы исправить это дело.
Но у списка с историей переписки есть последняя проблема: подложки слегка отходят от текста. Слабо видно, но есть такое дело. Сейчас буду исправлять и пытаться переносить логику из тестового проекта в финальный.
--
По вечерам разрабатываю сервис для общения. Кому интересно, можете подписаться куда-нибудь на меня, попробуете его в числе первых.
Постепенно буду продолжать делиться успехами разработки сервиса.






