Size: a a a

Dart & Flutter по-русски

2020 June 30

ID

Ivan Dembicki in Dart & Flutter по-русски
Yaroslav Pronin
Всем привет. Начинаю делать flutter-приложение, хотелось бы на ранних этапах внедрить null-safety из dart 2.9, но это ещё даже не beta, а в stable это ещё не скоро попадёт. Насколько болезненной будет миграция приложения на null-safety в будущем или стоит уже сейчас внедрить, пока она dev?
Мы не делаем. Усилия соответствовать пока не существующему функционалу оцениваем выше, чем усилия на переход на nullable после его релиза.
Хотя пишем уже исходя из будущего внедрения.

Всё это будет относительно несложно внедрять. Вначале пометить всё как nullable, а затем понемногу вычищать.
источник

SL

Sergey Lavinov in Dart & Flutter по-русски
Sergey Molchanovsky
Нет.
lateinit означает "обещаю в будущем проинициализировать" и если ты обратишься к члену, не сделав этого, то он тебе даст по рукам.
by lazy - инициализация при первом обращении, и null там получиться не может.
источник

MP

Mansur Panzerkampfwa... in Dart & Flutter по-русски
🙋‍♂️🙋‍♂️🙋‍♂️ Подскажите как сделать так, чтобы после setState ListView сохранял свою позицию.
Мне это нужно для infinite scroll, когда доскроллили до самого верха, подгружаются новые данные, но когда я вызываю setState, listview отображает нулевую позицию вместо того, чтобы сохранить ту, где я остановился 📍📍
источник

SM

Sergey Molchanovsky in Dart & Flutter по-русски
Я про Kotlin писал
источник

SL

Sergey Lavinov in Dart & Flutter по-русски
Excuse me, упустил контекст
источник

YP

Yaroslav Pronin in Dart & Flutter по-русски
Ivan Dembicki
Мы не делаем. Усилия соответствовать пока не существующему функционалу оцениваем выше, чем усилия на переход на nullable после его релиза.
Хотя пишем уже исходя из будущего внедрения.

Всё это будет относительно несложно внедрять. Вначале пометить всё как nullable, а затем понемногу вычищать.
В целом, я так понимаю, можно помечать код комментариями /*!*/ /*?*/ для того чтобы миграция с NNBD прошла без проблем в будущем?
источник

ND

Nikita Domnickij in Dart & Flutter по-русски
будут тулзы для миграции вообще
источник

YP

Yaroslav Pronin in Dart & Flutter по-русски
Да, это NNBD
источник

Аp

Александр phatom... in Dart & Flutter по-русски
Mansur Panzerkampfwagen IV
🙋‍♂️🙋‍♂️🙋‍♂️ Подскажите как сделать так, чтобы после setState ListView сохранял свою позицию.
Мне это нужно для infinite scroll, когда доскроллили до самого верха, подгружаются новые данные, но когда я вызываю setState, listview отображает нулевую позицию вместо того, чтобы сохранить ту, где я остановился 📍📍
там есть ScrollController, он должен помочь
источник

ID

Ivan Dembicki in Dart & Flutter по-русски
Mansur Panzerkampfwagen IV
🙋‍♂️🙋‍♂️🙋‍♂️ Подскажите как сделать так, чтобы после setState ListView сохранял свою позицию.
Мне это нужно для infinite scroll, когда доскроллили до самого верха, подгружаются новые данные, но когда я вызываю setState, listview отображает нулевую позицию вместо того, чтобы сохранить ту, где я остановился 📍📍
Волшебные слова: ScrollController ScrollPosition minScrollExtent maxScrollExtent pixels viewportDimension
источник

MP

Mansur Panzerkampfwa... in Dart & Flutter по-русски
Ivan Dembicki
Волшебные слова: ScrollController ScrollPosition minScrollExtent maxScrollExtent pixels viewportDimension
пытался через scroll controller сделать, но получается кривой скролл. viewportDimension не использовал никак
источник

MP

Mansur Panzerkampfwa... in Dart & Flutter по-русски
Ivan Dembicki
Волшебные слова: ScrollController ScrollPosition minScrollExtent maxScrollExtent pixels viewportDimension
вот
источник

MP

Mansur Panzerkampfwa... in Dart & Flutter по-русски
scrollTo() срабатывает после небольшой задержки. получается берем текущий maxScrollExtent и отнимаем тот, который был до нового стейта
источник

ID

Ivan Dembicki in Dart & Flutter по-русски
Насколько я понимаю задачу, нужно вычислять сколько пикселей внизу, после загрузки вычислять  сколько пикселей вверху, после чего создавать новый ScrollController и задавать ему initial, ну, или прыгать по animateTo
источник

Ю

Юрий in Dart & Flutter по-русски
Есть один гугловский виджет который скролит до определенного ключа
источник

ND

Nikita Domnickij in Dart & Flutter по-русски
а какого хрена у вас вообще весь листвью перерисовывается
источник

PK

Pasha Kretsu in Dart & Flutter по-русски
Помогите разобраться с проблемой выполнения асинхронной таски перед инициализации роутов
источник

PK

Pasha Kretsu in Dart & Flutter по-русски
при запуску приложения быстро отображается ошибка после чего выполняется переход на нужный лейаут
источник

ND

Nikita Domnickij in Dart & Flutter по-русски
Pasha Kretsu
Помогите разобраться с проблемой выполнения асинхронной таски перед инициализации роутов
у тебя написано где ошибка
источник

DS

DVS Studio in Dart & Flutter по-русски
Pasha Kretsu
Помогите разобраться с проблемой выполнения асинхронной таски перед инициализации роутов
изначально snapshot.data == null. вот оно и матерится
источник