Size: a a a

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

2020 June 13

РБ

Роман Букинхайм... in Dart & Flutter по-русски
везде сложно монетизировать писанину
источник

SM

Sergey Molchanovsky in Dart & Flutter по-русски
Nikita Domnickij
Не называется
Да будет провайдеросрач!
источник

SM

Sergey Molchanovsky in Dart & Flutter по-русски
Liliya A.
Да, это я поняла, а что использовать лучше для сложной программы?
Посмотри вот это
https://flutter.dev/docs/development/data-and-backend/state-mgmt/simple
И вот этот пример:
https://github.com/brianegan/flutter_architecture_samples/tree/master/change_notifier_provider/
Я все так же делаю, пока с головой хватает.
источник

АГ

Александр Георгиевич... in Dart & Flutter по-русски
всем привет! Есть проблема с адаптивностью. В общем есть 3-4 виджета фиксированной высоты. Их надо расположить на экране вертикально, но если они не помещаются по высоте, то их можно скролить, ал-я ListView. А если они помещаются по высоте, то должны быть распределены ал-я MainAxisAlignment.spaceBetween. Как сделать?)). Продублирую) ещё вопрос, можно ли как-нибудь узнать размеры виджета, до его визуализации? Ну Как нибудь его программно с рендерить и узнать размер, и на основании этого выполнить нужеый код в build методе парента?)
источник

SM

Sergey Molchanovsky in Dart & Flutter по-русски
Александр Георгиевич
всем привет! Есть проблема с адаптивностью. В общем есть 3-4 виджета фиксированной высоты. Их надо расположить на экране вертикально, но если они не помещаются по высоте, то их можно скролить, ал-я ListView. А если они помещаются по высоте, то должны быть распределены ал-я MainAxisAlignment.spaceBetween. Как сделать?)). Продублирую) ещё вопрос, можно ли как-нибудь узнать размеры виджета, до его визуализации? Ну Как нибудь его программно с рендерить и узнать размер, и на основании этого выполнить нужеый код в build методе парента?)
Размеры никак.
Только в ListView есть параметр shrinkWrap, но он прожорливый
источник

LA

Liliya A. in Dart & Flutter по-русски
Благодарю 🙏
источник

АГ

Александр Георгиевич... in Dart & Flutter по-русски
Sergey Molchanovsky
Размеры никак.
Только в ListView есть параметр shrinkWrap, но он прожорливый
Есть мысли в первом запуске build отрисовать, вычислить размеры виджетов и второй раз вызвать build с уже имеющимися размерами. Но как то костыльно)
источник

SM

Sergey Molchanovsky in Dart & Flutter по-русски
Конечно, костыль.
источник

SM

Sergey Molchanovsky in Dart & Flutter по-русски
Александр Георгиевич
всем привет! Есть проблема с адаптивностью. В общем есть 3-4 виджета фиксированной высоты. Их надо расположить на экране вертикально, но если они не помещаются по высоте, то их можно скролить, ал-я ListView. А если они помещаются по высоте, то должны быть распределены ал-я MainAxisAlignment.spaceBetween. Как сделать?)). Продублирую) ещё вопрос, можно ли как-нибудь узнать размеры виджета, до его визуализации? Ну Как нибудь его программно с рендерить и узнать размер, и на основании этого выполнить нужеый код в build методе парента?)
Думаю, LayoutBuilder — то, что тебе нужно.
источник

АГ

Александр Георгиевич... in Dart & Flutter по-русски
Sergey Molchanovsky
Думаю, LayoutBuilder — то, что тебе нужно.
Мне нужны размеры children, а не parent виджетов.
источник

SM

Sergey Molchanovsky in Dart & Flutter по-русски
Если они у тебя точно фиксированной высоты, и ты знаешь, какой именно, ты можешь просто посчитать.
Например, Container.height = childrenCount * childHeight;
источник

SM

Sergey Molchanovsky in Dart & Flutter по-русски
А программно извлечь размер никак нельзя.
источник

RV

Roman Vasiliev in Dart & Flutter по-русски
Sergey Molchanovsky
А программно извлечь размер никак нельзя.
можно, правда костыльно и  после отрисовки
источник

SM

Sergey Molchanovsky in Dart & Flutter по-русски
Ну я и говорю, что это костыль.
Два раза раскладывать и перерисовывать.
источник

AV

Alexander Voronov in Dart & Flutter по-русски
Подскажите пожалуйста, как получить иконку по названию в строке?
Было var icon = Icons.directions_car;
Надо что-то вроде
String iconName = "directions_car";
var icon = Icons[iconName];
источник

SM

Sergey Molchanovsky in Dart & Flutter по-русски
Alexander Voronov
Подскажите пожалуйста, как получить иконку по названию в строке?
Было var icon = Icons.directions_car;
Надо что-то вроде
String iconName = "directions_car";
var icon = Icons[iconName];
чего-то я сомневаюсь, что так можно сделать
https://api.flutter.dev/flutter/material/Icons/add-constant.html
Icons — класс, содержащий константы
и там имени строкой нет, там hex-коды иконок
источник

AV

Alexander Voronov in Dart & Flutter по-русски
Sergey Molchanovsky
чего-то я сомневаюсь, что так можно сделать
https://api.flutter.dev/flutter/material/Icons/add-constant.html
Icons — класс, содержащий константы
и там имени строкой нет, там hex-коды иконок
Уже начал делать через hex коды, придется бэкэнд корректировать)
источник

SM

Sergey Molchanovsky in Dart & Flutter по-русски
Alexander Voronov
Подскажите пожалуйста, как получить иконку по названию в строке?
Было var icon = Icons.directions_car;
Надо что-то вроде
String iconName = "directions_car";
var icon = Icons[iconName];
Такой синтаксис — это индексатор (в дарте operator [])
Но для Icons он не определен.
источник

AV

Alexander Voronov in Dart & Flutter по-русски
Понял, спасибо!
источник

SM

Sergey Molchanovsky in Dart & Flutter по-русски
Alexander Voronov
Уже начал делать через hex коды, придется бэкэнд корректировать)
Можешь через extention определить для Icons метод getByName() или operator[]
И туда прописать имена иконок, которые ты используешь.
Не все, конечно, а только нужные.
источник