Skip to content

eshfield/tricky_widget

Repository files navigation

Tricky Widget

Задача

Создать виджет, который занимает всю доступную ширину экрана и принимает в параметрах конструктора текст произвольной длины вместе с boolean-значением состояния чекбокса.

Внешний вид виджета:

Текст | -------------------- | Чекбокс

Разделители | показаны условно — визуальных границ между ячейками нет

Виджет состоит из трёх ячеек:

  1. Переданный текст
  2. Пунктирная линия от начала до конца ячейки
  3. Чекбокс с переданным состоянием

Поведение виджета: Средняя ячейка занимает всё доступное ей между остальными элементами место. Сужение виджета сначала приводит к сокращению пунктирной линии до минимального размера 10 пикселей, после чего линия перестаёт быть видимой, а в первой ячейке начинает обрезаться текст с добавлением многоточия. При возвращении виджету необходимого пространства конфигурация ячеек восстанавливается в исходное состояние.

Решение

Решение подробно разобрано в статье на Хабре: Хитрый виджет: разбор тестового Flutter-задания. Детективная нуар-история

Чтобы следовать ходу решения из статьи, замените в main.dart импорт на третьей строке на файл соответствующего шага из папки article.

Releases

No releases published

Packages

No packages published

Languages