Программирование : Dart & Flutter по-русски
Виталий Фадеев
[
"я для локального хранения данных использовал Hive\n",
{
"type": "link",
"text": "https://pub.dev/packages/hive"
},
"\n\nработает норм"
]
Gorohov Valeriy
Подскажите хорошую альтернативу flutter_cache_manager , интересует возможность очередной загрузки файлов их приоритезацию, а так-же pause|resume
Роман Аблаев
я планирую до 100 пользователей хранить в базе, потянет?
Arkadiy Filimonov
Работал года 4
Arkadiy Filimonov
Вопрос то где?
Arkadiy Filimonov
Аа все пропустил, уже ответили
Kirill
Был вопрос чуть выше. Суть проблемы была в плагине android_alarm_manager в котором не все продумано
Arkadiy Filimonov
У меня 2 недели ушло, главное использовать старый акк и чтоб имя совпадало везде и в загране и в данных акка
Arkadiy Filimonov
Да, я пропустил(
Alexandr Drobyshev
я б хранил в json))
Andrey Unger
[
{
"type": "link",
"text": "https://habr.com/ru/company/ligastavok/news/t/527798/"
}
]
Andrey Unger
я бы поучаствовал в чем-нибудь таком, но тут тематика больно уж отталкивающая (
Дмитрий Щербаков
100 пользаков можно и в фаербейсе
Дмитрий Щербаков
Чтоб не велосипедить)
Роман Аблаев
а что отталкивает?
Alexandr Drobyshev
да, ток для файребейза, монго, sqlite и тд надо еще движок и плагин))
Alexandr Drobyshev
а в жсон не фига не надо)
Andrey Unger
ставки на спорт - фе тема. в свое время обжогся со всякими иксбетами и фонбетами по тематике ит
Роман Аблаев
ставки-это тоже не мое
Роман Аблаев
это такая многоходовочка, типа бутерброд, булочка-флаттер, сосиска-ставки
Andrey Unger
да не, судя по описанию я так понял они ждут что им напилят овер дофига крутых виджетов которые они затянут к себе в проект и еще сотрудников заодно поищут
Andrey Unger
всего за 160к - так себе тема
Роман Аблаев
думаю, найдутся, кто им сделает
Роман Аблаев
ни разу с бд не работал, придется погрузиться в эту тему, боюсь затеряться на месяц))
Alexandr Drobyshev
прикольно, если запросить координаты, и закрыть прилу не отписываясь, видимо координаты зависают навечно в анроиде, даже после удаления прилы зачек не пропал с трея что идет определения геолокации)
Алексей Земцов
Понял, спасибо?? Помогли не совершить пару грубых ошибок в планировании)
Alexandr Drobyshev
как можно выйти из ситуации) етсь приложение, при запуске навигатор открывает / страницу, в которой есть запрос геопозиции в initState, всплывает окно вначале мое, с поясеннеим для чего, а дальше происходит редирект на форму логина, но окно остается висеть) я в main файле этой страницы галвной сдлеал dispose() Navigetor.of(context).pop() чтрь закрыть окно) то етсь выходит страниц апоявляется на долю секунды опка от сервера запрсо идет, и если юзер разлогинился то выкидывает на логина форму то етсь за эту долю сееунды окно всплыть успевает, но пропасть не пропадает
Sergey Hottabych
Как обрезать белый слайд по нижней границе экрана? Если просто в Column вставить, будет переполнение.
Sergey Hottabych
Мне нужно листание слайдов влево-вправо, вниз не должно прокручиваться.
Alexandr Drobyshev
то что в ни не должно прокручиватся это спорный вопрос) а если экран не такой большой как на скрине?
Alexandr Drobyshev
а если вообще ландшафтный режим разрешен?
Sergey Hottabych
тогда слайд будет ниже все равно обрезается на том же месте это просто картинка
Sergey Hottabych
не будет ландшафтного
Alexandr Drobyshev
то есть вы хитите чтоб часть конктента скрывлаось но слайд белый не доходил до низа?
Sergey Hottabych
Вот что в дизайне. Мне нужно, чтобы невидимая часть обрезалась.
Sergey Hottabych
Так как в Фигме это норм, но во Флаттере это overflow.
Роман Аблаев
Здесь по моему нужно выставить длину контейнера и listView, уже не помню, но что-то типа scrllable.vertical
Alexandr Drobyshev
ему не надо тоб был скрол
Роман Аблаев
а как же листать собирается?
Alexandr Drobyshev
ну в релизе не будет overflow видно)) я б в column пихунл все, блок что обрезасть Expanded оберунть, и снизу после него SizedBox(hight: 12.0) к примеру
Alexandr Drobyshev
тогда будет оверфлов внутри контейнера по идеи
Alexandr Drobyshev
так я выше и напсиал что надо что листалось) а он скзаал не надо) хозяин барин))
Alexandr Drobyshev
видимо мало платят чтоб делать со скроллом)
Роман Аблаев
мне кажется, разумней было бы скроллить и не панриться
Alexandr Drobyshev
но я не знаю всех плагинов)) я новичек в флаттер) может есть что круче
Alexandr Drobyshev
в css есть oferflow: hide для такого0
Роман Аблаев
на прошлой неделе, что-то подобное делал, правда скроллил и выставил фиксированную высоту в контейнере
Alexandr Drobyshev
ну со скроллом то понятно) тут вопрсо что надо чтоб резало, но не было пометок что оверфлов
Alexandr Drobyshev
хм а я делал как интересно, у меня плавно сворачиваются списки при клике, но нет пометки такой
Alexandr Drobyshev
в AnimatedSize в контейнере меняю высоту и не пишет оверфлов) видимо пишет только когда контейнер выходит за пределы экрана, а если внуттри контейнера делать обрезание - то это нормально, знаичт способ выше описанный мной может сработать)
Alexandr Drobyshev
высоту если ставить - раные экраны опять же не красиво, я так понял ему надо отсуп снизу чтоб был
Alexandr Drobyshev
я б sizedBox или padding снизу сделал чтоб не доставало до конца экрана
Роман Аблаев
верно, надо, чтобы снизу был отступ типа SizedBox(height:20),
???? ???????
Мне нужно мнение людей, кто перешел на флаттер с реакта
???? ???????
Как думаете, что лучше юзать для продакшна?
???? ???????
Реакт нейтив или флаттер?
???? ???????
Просто слышал что флаттер только для деплоя обычных аппок на гугловских серверах (подобие фаербейза и других сервисов) (пока что так)
Alexandr Drobyshev
я флаттер)
Alexandr Drobyshev
с чем такое высказывание вообще связанно?)
???? ???????
Но некоторые говорят что флаттер баще из-за его скорости рендера виджетов и нативности на мобилках
???? ???????
ну тип флаттер пока новый и недоработанный)
???? ???????
и пока годится только для обычных аппок
Alexandr Drobyshev
я кадыдй день сижу в иснте которая на реакте, каждый день куча багов)) то одно обрежет, то другое уедет))
d
А у нейтива типа релизы хоть раз были)
Alexandr Drobyshev
а если надо еще и прям похожее на эпл и андриоде то у флаттера это по мне горадо проще)
Alexandr Drobyshev
сегодня уже задавали тут этот вопрос) ответ был правильный) вы вошли в чат флаттера) тут сидят те кто на флаттере кодит) а даже если кодили на реакте возможно ка краз усшли с него на флаттер))
???? ???????
ну может есть те, кто решил попробовать флаттер
???? ???????
и в случае чего ищет тут поддержки
???? ???????
и пощупать флаттер
???? ???????
просто я на флаттере кодил и кодил обычные аппки
???? ???????
Сейчас встала задача сделать сложнее продукт и я задаюсь вопросом смогу ли я сделать это на флаттере
???? ???????
и недавно был вынужден пощупать реакт нейтив. So, думал может сравнить
Alexandr Drobyshev
ну а что напрмиер нельзя сделать?)
???? ???????
Я пока что даже не знаю что нельзя сделать)
Alexandr Drobyshev
я так скажу) у меня друг буквально пару месяцев назад спросил у меня я шо дурак флаттер юзаю? почему не реакт
Alexandr Drobyshev
он сам не юзает ни то ни то он фронт жнд жс кодер в wix
Alexandr Drobyshev
я гворю а почему не флаттер? он говрит там нет камьюнити, ни тко не юзает его
Alexandr Drobyshev
[
{
"type": "link",
"text": "https://github.com/flutter/flutter"
}
]
Alexandr Drobyshev
[
{
"type": "link",
"text": "https://github.com/facebook/react-native"
}
]
Alexandr Drobyshev
я не могу скзаать по репозиториям что флаттер ни кто не юзает)
???? ???????
Нет, я понимаю что флаттер сейчас уже достаточно большое коммьюнити
Alexandr Drobyshev
то есть тут суть то в чем, он не юзает ни то ни то и не юзал, он юзал reactjs, прилы он не делает, но на основании того тчо кодит на реактжс он уверен что флаттер гавно)
d
Правильно, самое большое комьюнити в Wix??
Alexandr Drobyshev
ну он туда перешел с плариума
Alexandr Drobyshev
вроде не маленькая фирма))
Alexandr Drobyshev
а до этого работал в геймолофт
Alexandr Drobyshev
и зп его перекупили)) мне такая и не снилась))
Alexandr Drobyshev
так тчо викс видимо не такой и маленький))
Sergey Hottabych
Мне надо чтобы листалось влево-вправо свайпами (это PageView). А скролл вниз не нужен.
Sergey Hottabych
Вы чего, интро скрин первый раз видите?
Alexandr Drobyshev
так вам написали как можно сделать)
Alexandr Drobyshev
вреска у вас, верстать с нуля не думаю что кто то станет полностью вашу картинку) а в какую сторону сомтреть дали наводку)
Андрей
Всем привет. Подскажите, пожалуйста, как передавать параметры из класса в класс и как их обновлять.
Alexandr Drobyshev
провайдеры или в коснтруктор класса)
Alexandr Drobyshev
или через стейт менеджмент) смотря что надо
Alexandr Drobyshev
или в гугле что то типа flutter pass data between widgets илил flutter pass data to widget сам недавно начинал, куча статей)
Alexandr Drobyshev
кстати, а setState перерисует же весь виджет в котором он вызван?
Alexandr Drobyshev
а если будет StreamBuilder какой нить, то перерисуется только часть внутри билдера?
Marcus
Он пометит их как "грязные", а дальше они сами будут решать, стоит им перерисовываться или нет
Alexandr Drobyshev
хм, интересно, то етсь сетстейт не гарантирует перерисовку?
Sergey Hottabych
Помогло! Просто в Expanded обернул, и всё, ошибка пропала.
Marcus
[
{
"type": "link",
"text": "https://flutter.dev/docs/perf/rendering/best-practices"
}
]
Andrey Unger
подскажите что-нибудь типа старого доброго hokeyapp для дистрибуции приложений ios клиенту adHoc, а то мс вооще хз во что превратили сервис. не могу туда ipa выгрузить, ругается непонятными словами вообще не пойми на что
Andrey Unger
A problem occured while extracting your app. (Correlation ID: 1a03c9ac-f70b-4367-997c-15ad3c133327)
Андрей
Через конструктор immutable принимается.
Alexandr Drobyshev
а для чего вам передавтаь мутабельные?)
Sergey Hottabych
юзай mobx, и будет тебе счастье он по ссылке observables спокойно передает в конструктор
Alexandr Drobyshev
что вообще такое мутабельный параметр? как вы второй раз собираетес его менять? ну передайте Класс в парамтере по ссылке, потмо измените парамтеры класса и ничгео ен перерисуется же
Alexandr Drobyshev
без modx нельзя передать?)
Sergey Hottabych
Если ему мутабельность нужна.
Sergey Hottabych
MobX, не ModX MODX — это CMS-ка такая
Alexandr Drobyshev
что такое мутабельность парамтера при передаче? я вижу это так var count = 1; new Widtet(count); count = 2; ничего ен будет) не вжано помечен парамтер там как финал или нет
Alexandr Drobyshev
а по ссылке будет но смысл?
Alexandr Drobyshev
а преедать стрим и так можно парамтером по идеи)
Alexandr Drobyshev
а для стейтфул виджета в конструтор виджета передаем а не стейта, а дальше омжно уже в стейт передлать в мутабельные парамтеры
Alexandr Drobyshev
[
"даже так\nUser user = User(name: \"Alex\");\nnew Widget(user);\n",
{
"type": "link",
"text": "user.name"
},
" = 'Ne Alex';"
]
Alexandr Drobyshev
все равно ж не чо не перерисует)
Alexandr Drobyshev
хоть и по ссылке
Alexandr Drobyshev
да я в курсе) я на ней делал пару проектов)) спс)) привычка) опечатался
Андрей
MaterialApp. Appbar и некий список разнесены по разным классам (файлам) в Appbar находится переключатель фильтров, по которому сортируются элементы в списке. Мутабельность нужна для изменения параметров/порядка фильтрации
Sergey Hottabych
[
"А если в MobX Store сделать\n",
{
"type": "mention",
"text": "@observable"
},
" String name;\nНа каком-либо экране ее достать из контекста.\nvar name = ",
{
"type": "link",
"text": "context.read"
},
" .name\nи передать в дочерний виджет NewWidget (name)\nи поменять name внутри NewWidget — он отлично поменяется в Store"
]
Alexandr Drobyshev
я возможно туповат) но я думаю я вас удивлю, тем что это можно сдлеать без mobx)
Alexandr Drobyshev
какая арзница мутабельынй или нет? вы передадите по ссылке обект, зачем вам ссылку то саму менять? менять можно через провайдеры, mobx, пердав просто stream, чреез ChangeNotifier чреез блок и тд и тп
Alexandr Drobyshev
мутабельность тут не при чем)
Kit Khilobok
Это можно сделать, используя любой инструмент и даже на ваниле
Alexandr Drobyshev
что етсь немутабельынй парамтер? final? каждый день приходим к нему ?? вы просто не можете второй раз присвоить этйо пеерменной что то дургое! как передав парамтером в коснтруктор вы собираете потмо самому парметру менять ссылку чреез конструктор именно?
Alexandr Drobyshev
каждый вызов конструктора порадит новый объект
Alexandr Drobyshev
проще говря new Widget(appBar: _appBar) параметр да final appBar внутри виджета, но зчем вам менять саму ссылку куда ссылается переменная?
Alexandr Drobyshev
вы де будите менять что то внутри AppBar допустим
Alexandr Drobyshev
я сделал это чрезе ChangeNotifier кокретно переключался с апп бара, там у меня три кнпоки выбор режима)
Alexandr Drobyshev
[
{
"type": "link",
"text": "https://pastebin.com/BqHiaAYi"
}
]
Alexandr Drobyshev
вот урезаная версия, там две зависимые кнпоки и одна независимая
Alexandr Drobyshev
перевайте экземпляр этого класса в final и подписывайтесь на него внутри виджета
Alexandr Drobyshev
appBar.listen()
Alexandr Drobyshev
и функция будет тригерится когда из другого виджета вы сделаете так appBar.importantClick()
Alexandr Drobyshev
можноделать Stream можно через другие спобосы описанные выше)) думюа тут еще надо сомтреть цель действий)
Alexandr Drobyshev
хотя я не передаю в конструктор так как глубоко слать)) я юзаю Provider
Alexandr Drobyshev
тогда в самом главном файле ChangeNotifierProvider(create: (_) => ActionBar()),
Alexandr Drobyshev
а дальше в любой глубине Provider.of (context, listen: false).listen()
Alexandr Drobyshev
как то так)) студия подскажет)
Alexandr Drobyshev
или мануал по Provider
Alexandr Drobyshev
ну то етсь чтоб понимать почему конструктор зло) сегодня тебе надоп ередать на 1 уровень вниз, завтра ты допили виджет промежуточный, уже на два, а потом на 15 из них 14 может он и не нужен))
Андрей
Спасибо, буду пытаться разобраться. Просто второй день изучаю flutter, если был вопрос банальный — извиняюсь.
Alexandr Drobyshev
вариантов море)) узнаешь по ходу дела)
Sergey Hottabych
На второй день, имхо, рано трогать Provider и State Management. Начни с чего попроще. Изучи верстку, все основные виджеты, навигацию. Чем Stateless от Stateful отличается и т.д.
Alexandr Drobyshev
зависит от знаний) может он кодил сайты)) как я, я в первый день трогал) так как знал по другим проектам на других языках и фремворках
Alexandr Drobyshev
прсото по мне так верска это мелочи уже) главнео структуру составить правильно) а то что пару пикселей не туда это такое себе)
Alexandr Drobyshev
я скок лет кодю, а ума не хватает все хорошо составить по структуре)) вечно потом переделываю)) видимо не мое это программирование)
DVS (Read The F.ng Manual) Studio (NoHello)
пффф. это норма
Alexandr Drobyshev
хотя я смотрю на инстаграмм как каждый день делают хуже и хуже)) и думаю что они б тое задумались что это не их))
Alexandr Drobyshev
при чем твитер же норм работает) шо они вечно инсту ломают) вот на днях текст поверх панели накладывался нижней ) скролишь и левая иконка под текстом оказывалась) при чем не всегда а на некотрых постах только
Sergey Hottabych
Там беда в комментах, что надпись "1 отметка нравится" вытесняет кнопку "ответить", и из-за этого кое-где вообще невозможно ответить
Alexandr Drobyshev
у меня в инсте 6 аков добавлено, на 5 из 6ти висит что есть одно новое сообщение) но по факту ни одного нет
Sergey Hottabych
А еще ты по умолчанию подписан на гору уведомлений, и нужно разные типы уведомлений отключать по одному
Andrey Unger
нафиг этот AppCenter - firebase наше все! За пять минут опубликовалприложение, раньше в hokeyapp тоже самое было, а МС их взяли и испортили (((
Andrey Dotsenko
Всем привет! Вопрос по флаттеру такой - может кто-то подсказать что заюзать для проигрывания аудио? Надо mp3 либо по ссылке отыграть, либо качнуть на устройство и проиграть. Мастхев фича чтобы скорость воспроизведения на лету регулировать можно было и сикбаром перематывать. В идеале еще отдекодить и графичек частот нарисовать. Надо на андроид и айосе, желательно с минимумом доработок под конкретную платформу. Всякие форграунд сервисы и медиасессии не нужны, чисто проигрывание в пределах одного экрана. Беглое гугление показало что на паб есть всякое но везде надо под платформу напильником дорабатывать( буду оч признателен за наводку куда смотреть
Kathy Ti
Здравствуйте. Есть Container на весь экран, хочу убирать его свайпом вверх. Вроде как подходит под задачу виджет Dismissible, но нигде нет примера как его использовать с не ListView. Если у ListView есть index то у простого виджета его нет. Не пойму как идентифициоравать Container Для Dismissible, там же key указать надо. Помогите разобраться
Семён undefined
[
"dismissible нужен для удалений элементов списка (пример — спайп влево в истории поисковых запросов, в мобильном приложении яндекс)\nв твоём случае нужно отловить свайп и после этого проиграть анимацию\nспособы отловить свайп: gesture detector (",
{
"type": "link",
"text": "https://stackoverflow.com/questions/55050463/how-to-detect-swipe-in-flutter"
},
") либо готовые сторонние решения (",
{
"type": "link",
"text": "https://pub.dev/packages/simple_gesture_detector"
},
")"
]
Юджин Баладжахе
Всем привет. Часто встречается ситуация, когда перед показом очередного экрана нужно сделать долгую асинхронную операцию - проинициализировать плагин, получить данные с сервера и т.д. Где правильно это делать? Если в initState(), то пользователю невозможно показать индикатор прогресса, а залипающий интерфейс раздражает. Сейчас приходится делать все в методе build() через FutureBuilder, а поскольку инициализировать нужно всего один раз, приходится каждый экран разбивать на 2 виджета - первый stateless с инициализатором, а второй основной. Не покидает ощущение, что я делаю что-то не так, ведь много шаблонного кода. Как правильно по flutter-way ???
Comrade77
Вообще разработчики flutter долгие операции советуют выносить в isolate
Юджин Баладжахе
Я так и делаю, но это не решение проблемы. Изолят возвращает фьючу, которая неизвестно когда завершиться. И пользователю нужно показывать спиннер. А если это при открытии экрана - вопрос - где эту фьючу создавать.
Юджин Баладжахе
Была бы во флаттере глобальная функция типа showCircularProgressIndicator(), которую можно было бы вызвать из initState() - проблем бы не было.
Comrade77
А вы мененджерами состояний не пользуетесь? Можно вызывать данную функцию в сервисе, а через мененджер состояний спокойно следить за её завершением
Андрей Небогатиков
[
{
"type": "link",
"text": "https://stackoverflow.com/questions/56579440/display-full-screen-loading-widget-in-flutter"
}
]
Аtaй
Здравствуйте, как бороться с разными размерами экранов? Можете пожалуйста подсказать.
Юджин Баладжахе
[
"Я сейчас использую две функции, но это если спиннер нужно показать из обработчика. Накрывает текущий scaffold полу-прозрачным фоном, и в центре спиннер. Но это из обработчика. А при загрузке приходится мучиться.\n\n",
{
"type": "pre",
"text": "void startWaiting(context) => Navigator.of(context).push(\n PageRouteBuilder(\n fullscreenDialog: true,\n opaque: false,\n pageBuilder: (_, __, ___) => WaitingOrError(transparent: true),\n ),\n );\n\nvoid stopWaiting(context) => Navigator.of(context).pop();\n\n",
"language": ""
},
{
"type": "link",
"text": "https://github.com/balajahe/balajahe.github.io/blob/master/flutter/AbandonedRussia/lib/view/commonWidgets.dart"
},
""
]
Юджин Баладжахе
Вообще не в курсе что это такое. Стараюсь по возможности писать stateless виджеты. Исключение - это формы, где пока нет другого решения. Если все данные в модели, то stateful не нужен и даже вреден.
Андрей Небогатиков
Вот вам и ответ
Андрей Небогатиков
Лучше начинайте пользоваться, пока не поздно
Юджин Баладжахе
Спасибо, почитаю
Ruslan Vafin
[
"Я использую GetX, легко освоить ",
{
"type": "link",
"text": "https://pub.dev/packages/get"
},
""
]
Юджин Баладжахе
Да, что-то все советуют, все нет времени изучить.
Ruslan Vafin
Если учитывать ваш случай, передаю данные из контроллера в виджет и прописываю там, если данные есть показываю контент иначе кручу спинер. Как то так.
Юджин Баладжахе
А первичную инициализацию контроллера где делаете? При открытии страницы мне нужно проинициализировать например камеру, и не хочется дергать эту инициализацию при каждой перерисовке.
Юджин Баладжахе
Я провайдер юзаю, то есть инициализация моделей происходит в методе build, там где он объявляется. Возможно в этом и трудность
Юджин Баладжахе
Хотя наверное можно создавать модели в initState() а оборачивать их в провайдер через ChangeNotifierProvider.value(). Подумаю...
Ruslan Vafin
Через GetxBuilder который встраиваешь в виджет, после чего он инициализирует функцию получения данных в контроллере.
Юджин Баладжахе
Понял, спасибо!
Kathy Ti
Screenshot (13 нояб. 2020 г. 14:36:45)
Kathy Ti
Как сделать чтоб след от нажатия не выходил за рамки круга
Kathy Ti
Container( Material( InkWell( Как правильно?
Viktor S
в Material clipBehavior: Clip.hardEdge
Kathy Ti
А порядок Container( Material( InkWell( правильный?
Kathy Ti
А то не сработало
Viktor S
я вот так сделал
Kathy Ti
Спасибо. Ключевым был shape
Andrew Shalaev
Там есть в дереве файлов Add folder to workspace. Я так все время работаю, VsCode прекрасно все понимает
Kathy Ti
Подскажите как реализовать такую задачу: есть грид который динамически отображает результаты поиска в зависимости от текста в поисковом поле, а сами данные в бд поделены на группы, так вот возможно ли разделять в гриде группы каким-то разделителем с названием группы?
Дмитрий Щербаков
Рисовать несколько гридов
Дмитрий Щербаков
В колонке
Kathy Ti
Ясно, понятно, спасибо.
Kathy Ti
А это возможно динамически реализовать? Просто может быть один грид, а может 10.
Дмитрий Щербаков
Вынести грид в отдельный виджет и собирать их столько сколько нужно в зависимости от результата
Дмитрий Щербаков
группа это что?
Дмитрий Щербаков
но лучше наверно "группу" вынести в грид доп колонкой если это таблица, либо в карточку грида как доп реквизит, потому что несколько гридов скролить неудобно
Gorohov Valeriy
SliverGrid
Gorohov Valeriy
[
{
"type": "link",
"text": "https://api.flutter.dev/flutter/widgets/SliverGrid-class.html"
}
]
Gorohov Valeriy
[
"Будет что-то подобное:\n",
{
"type": "code",
"text": "\nCustomScrollView (slivers:\ngroups.map((e) => [\nSliverToBoxAdapter(/*title*/),\nSliverGrid()]).toList()\n.expand((e) => e).toList()\n);\n"
},
"\n\nПисал с телефона, за форматирование и ошибки заранее прошу извинить)"
]
|