Программирование : Dart & Flutter по-русски
4nk1r
про андроид, но у нас тоже через канву вроде, или через merge в хмл
MMM Stefan
если вы про цифровую аля подпись то видел какойто виджет для этого есть
MMM Stefan
про пдф невидел, может и есть для пдф что логично для дкументов
4nk1r
хочу поиск вот так в навбар засунуть
4nk1r
попробую увеличить высоту CupertinoSliverNavigationBar и сунуть в largeTitle еще и поиск
MMM Stefan
[
{
"type": "link",
"text": "https://progi.pro/peredacha-dannih-mezhdu-ekranami-v-flutter-6156127"
}
]
4nk1r
ответа не было ни на что, поэтому на всякий случай ответил ??
MMM Stefan
только не делай так, как только возникнет ситуация когда нет контекста станет больно
MMM Stefan
относительно pdf, врятли что наёдете внятное, даже если найдёте, то может не открывать все версии pdf, лучше это делать на бекенде
Murat Nasirov
Всем привет. Есть какой-нибудь аналог ListView.builder?
Murat Nasirov
Элементы, находящиеся внутри него расширяются на всю ширину контейнера, кто-нибудь знает почему?
4nk1r
Вы пробовали или...?
Cruiser
Добрый вечер всем, у всех работает корректно flutter? По точнее даже когда flutter create project зависает, зависает когда flutter pub get
Arkadiy Filimonov
все отлично, попробуй на dev ветку переехать
Cruiser
так зависает у меня
Arkadiy Filimonov
сноси тогда
Arkadiy Filimonov
винда просто у тебя))
Arkadiy Filimonov
сноси флаттер
Arkadiy Filimonov
и ставь снова
Andrey Unger
Блин, Apple совсем офигели. Запросили видос с примером использования приложения! Им лень тестировать?))
Денис Путнов
Сейчас попробовал зайти, у меня все отлично
Yerassyl Maikhanov
пххахаахах
Yerassyl Maikhanov
простите
Yerassyl Maikhanov
чет я ору
Cruiser
Хз у меня глючит не работает че-то даже create project не может сейчас
Юрчик
Привет. Не подкажите как отображать список последних нескольки елементов? (3-4)
Илья Максименко
и забудете про всякие там (context)
Илья Максименко
И забудете про оптимизацию приложения
ilsur
верно ведь, что я присваиваю результат асинхронной функции?
Владимир Калашников
Кто-то знает, можно сделать так, чтобы в гифке сначала не было анимации, а по нажатии на кнопку запустить анимацию?
Dima Kotlyarov
в стейте харни например bool isAnimated = false. а когда станет тру, тернарником \меняй
Владимир Калашников
Подмена уже есть, я меняю пнг на гиф. А интересно, можно ли по другому
Владимир Калашников
Без ребилда
Dima Kotlyarov
я js разработчик)
Владимир Калашников
image_picker, чтобы выбрать фото из галереи
Владимир Калашников
кто нибудь юзал какую нибудь либу для сканирования qr кода с изображения из галереи? я где-то видел и не могу найти
Владимир Калашников
Ну firebase же используется для сканинга?
Владимир Калашников
Если использовать firebase ml vision, то в функцию просто передать изображение и все
Владимир Калашников
Детекции лиц у меня вроде и без инета работает
ilsur
капец как это решить я посылаю запрос и получаю жсон с него который потом мне надо использовать но дело в том что на это надо некоторое время и потому stateData.status равен null как мне заставить работать условие? пытался использовать sleep чтобы программа тормозила несколько секунд, но это не помогло upd FutureBuilder помог!
Roman Cinis
FutureBuilder?
ilsur
return await stateData?
ilsur
вряд ли смогу запихнуть, но может попробовать...
Илья Цымбалюк
Есть кто из любителей помочь новичку? Напишите в ЛС. Есть пару вопросов по ValueNotifyListener. Что б тут не засирать глупыми вопросами. Буду очень признателен
Yerassyl Maikhanov
[
{
"type": "link",
"text": "https://www.youtube.com/watch?v=iYhOU9AuaFs&feature=push-u-sub&attr_tag=HkZ1cOK2MbXUBIA2:6&ab_channel=Flutter"
}
]
Андрей
Как динамически изменить тип клавиатуры при изменении state?
Yerassyl Maikhanov
насколько я помню, надо сменить тип клавы на компоненте и закрыть клаву
Roman Vasiliev
shrinkWrap: true на ListView
Roman Vasiliev
P.S. Освой Theme
EcsFlash-
Ребят, наверное крайне тупой вопрос, но все же: можно ли объединять виджеты в "блоки", или хотя бы один виджет как либо так скажем сохранить. То есть чтобы я не прописывал каждый раз вручную этот виджет, а как бы вызывал его по какому либо имени?
Lokker??
Можно, нужно. И собственно так все и построено
Lokker??
Наследуйся от stateful и stateless классов и радуйся жизни
Gorohov Valeriy
Если ты про переиспользование кода: StatefulWidget и StatelessWidget, если про хранение объектов, то лучше не нужно
MMM Stefan
а когда веб зарелизят что-то слишно?
EcsFlash-
То бишь я могу указать потом имя класса, унаследованного от state(less/ful) widget, и все будет норм? Предположим у меня будет класс, унаследованный от StatelessWidget и внутри него будет лежать AppBar, потом, в scaffold'e я просто указываю appbar: name_of_my_widget, и все?
Yerassyl Maikhanov
так и работает
Gorohov Valeriy
В каких-то случаях будет достаточно, а где-то придется подумать.
Lokker??
Только со скобками. Как инициализация обьекта класса. По сути ты можешь зайти в исходный код этих самых AppBar и вообще любого виджета и посмотреть, как они реализованы. Они там слишком геморно сделаны, но принцип у всех одинаковый, и у собственных виджетов такой же
Lokker??
То есть также можно передавать параметры типа child, color и т.д.
EcsFlash-
Спасибо, а то начал как то бодро, все одинаковое копировал ctrl + c, ctrl + v а вот теперь столкнулся в огромным количеством повторяющихся по структуре "экранов" и теперь разгребаю все, чтоб по человечески было, без извращений)
EcsFlash-
Вот это мне и нужно, спасибо
EcsFlash-
Только за счёт вас продвигаюсь как то
Yerassyl Maikhanov
господи
Yerassyl Maikhanov
ты не делил на компоненты что ли
Lokker??
Каждый с чего-то начинает. Че осуждать сразу-то
EcsFlash-
Неа, слава богу вовремя дошло что надо по человечески делать
Yerassyl Maikhanov
[
"ну тип на ",
{
"type": "link",
"text": "flutter.dev"
},
" об этом сказано, в быстром старте"
]
Yerassyl Maikhanov
хорошо)
MMM Stefan
всьоравно через год будет стыдно ??
EcsFlash-
Та понятно это, но надо же учится
EcsFlash-
Так же всегда, даже в школе если посмотреть на старые тетради, тоже стыдно бывает
MMM Stefan
не парся, я вот месяц назад только сел за дарт, а до этого только видеоуроки на реакте смотрел, все мы тут учимся
MMM Stefan
даже признаюсь смартфона так и не купил, жены тел. юзаю)
MMM Stefan
нокия 1202-2 рулит)
MMM Stefan
ну не комфорто мне с смартфоном)
EcsFlash-
Бывший преподаватель на реакте писал по-моему
Пашка
в виджетах вообще лучше ничего не хранить
MMM Stefan
да с реактом много общего
EcsFlash-
Сейчас мне подсказывает что примерно нужно делать, чтоб по человечески все было
EcsFlash-
А для того чтоб понять, как это реализовать на дарте, я у вас спрашиваю
MMM Stefan
ну принцып везде тот же - не повторяйся
MMM Stefan
код логически разбить нужно так чтобы файлы/папки становились только лучше от проекта до проекта
MMM Stefan
чтобы потом не повторятся
EcsFlash-
Теперь пытаться все компановать, пытаться освоить базы данных
EcsFlash-
Это уже дошло, разбиваю по предметам, внутри предметов на классы(пишу для апку для учебы, типо справочника такого)
MMM Stefan
еще компоненты удобно выносить в отдельные переменные
MMM Stefan
final appTracking = Row( children: [ Text('Tracking'), Switch( onChanged: (bool value) {}, value: true, ) ], );
MMM Stefan
чтобы потом винегреда было меньше в дебрях Scaffold
MMM Stefan
а стейт менеджер getx нехило так укорачивает код
MMM Stefan
и парится не нужно, везде пишу StatelessWidget и всьо работает
MMM Stefan
и без контекста
EcsFlash-
Давай я тебя добавлю, буду если что в ЛС что то спрашивать, ок?
MMM Stefan
спрашивай здесь, я ж не профи, почитает кто еще - будет польза
MMM Stefan
мы ж тут для этого и собрались
MMM Stefan
ты случайно в LUA не шариш? баш на баш могли бы поработать
EcsFlash-
Неа, вот благодаря тебе только что узнал что это такое
Дмитрий Щербаков
Это нормально, значит развиваешься) тоже часто фейспалмы ловлю со своего кода даже полгода давности ??
Дмитрий Щербаков
Бывает надо сделать что то срочно - делаешь так. Потом рефакторинг все дела ??
MMM Stefan
это еще побожески, а бывает и вот так если запарка
MMM Stefan
[
{
"type": "link",
"text": "https://s00.yaplakal.com/pics/pics_original/3/9/8/14292893.jpg"
}
]
IDONTSUDO
И так есть вопрос сложный
IDONTSUDO
У меня есть лист с виджетами
Roman Vasiliev
У меня тоже!
IDONTSUDO
Как отрендерить виджеты из массива
Roman Vasiliev
Виджеты не должны храниться (в общем случае, понятно что есть child параметры и так далее)
Roman Vasiliev
Все должно быть в пределах build
Roman Vasiliev
Хранятся данные для виджетов
MMM Stefan
я ничего не понял
MMM Stefan
build рендерит виджет
Roman Vasiliev
Если тебе нужно несколько виджетов нарисовать подряд, используй Row или Column
MMM Stefan
как без хранения гдето данных рендерить чтото? опишите какую задачу вы пытаетесь решить
MMM Stefan
рисуйте на канве рисунок, скрольте рисунок - если хотите не светить данные в памяти напрямую
IDONTSUDO
Если вы мне то я хочу сделать аналог цмски.
MMM Stefan
или что вы питаетесь сделать?
IDONTSUDO
И на основе джисона рендерить виджеты
IDONTSUDO
То есть в жисоне придёт массив например text data и тд.
IDONTSUDO
И мне нужно придумать как это можно за рендерить
Roman Vasiliev
Вроде есть готовые пакеты по построению вью с джсона
Roman Vasiliev
Типа маппера
MMM Stefan
[
{
"type": "link",
"text": "https://pub.dev/packages/json_schema_form/example"
}
]
MMM Stefan
какраз тоже нужно будет разбиратся
MMM Stefan
только у меня проблема гораздо сложнее, мне нужно придумать способ строить формы целые, со списками и пр.пр.
MMM Stefan
дарт тут мозг выносит
Roman Vasiliev
Но имхо это дрочка мозгов, если и нужно то только точечно, а не на всю аппу
MMM Stefan
скриптовый бы язык хоть какой очень бы помог
Илья Максименко
Юай из json???
MMM Stefan
в общем смотри, дарт компилируемый язык, обычно для таких случаев берут что-то сприктовое, напр. lua/python и.тд. в дарте ничего такого нет - значит выход один - продумывать самому формат json, строить формочки
Roman Vasiliev
Человек хочет пободаться с передачей параметров, не будем мешать
MMM Stefan
задача на самом деле насущная
MMM Stefan
легкий способ - запилить html view, сложный способ - не знаю получится ли - сформировать скрипт явы - заюзать как нативный компонент, или как уже говорил - страдать пытаясь строить форму самому
Илья Максименко
Кодогенерация нужна только если доходит до моментов когда нужна рефлексия
MMM Stefan
либо гуглить чтото вроде lua for dart
Roman Vasiliev
Сомнительное занятие заниматься версткой экранов на json, когда можно выкатить вариант родного вью в обнове через маркет
Илья Максименко
Иначе лучше подумай как dry соблюдать
MMM Stefan
есть целый пласт задач где нужно динамически генерить формочки
MMM Stefan
возьмите любую приблуду аля 1C
Roman Vasiliev
формочки, а не экраны
Roman Vasiliev
Тем более это можно спокойно нагенерировать с структуры принятых данных, которые все равно будут
MMM Stefan
было бы замечательно если бы с помощью флатера можно было бы компилить маленькие dll
Илья Максименко
Было бы круто чтобы был пакет который позволяет ракету запустить на флаттере
ilsur
а можно как-то сделать, чтобы функция асинхронно пошла ждать несколько секунд, при этом другой код, написанный после данной функции продолжал работать? А то в таком случае код не идет дальше, а ждет 3 секунды
MMM Stefan
ждет не sleep, а await
IDONTSUDO
Вообще я подумал что могу просто в стек все позиционировать
IDONTSUDO
То есть массив готовить и в стек или другой виджет который принимает лист виджетов
MMM Stefan
[
{
"type": "link",
"text": "https://api.dart.dev/stable/2.5.0/dart-async/Future/wait.html"
}
]
MMM Stefan
вы можете весь виджет закинуть в переменную и переносите куда угодно его
MMM Stefan
final appTracking = Row( children: [ Text('Tracking'), Switch( onChanged: (bool value) {}, value: true, ) ], );
MMM Stefan
а если у вас клас
MMM Stefan
class ScafoldDrawer
MMM Stefan
то делайте инстант класа, и вызывайте build
MMM Stefan
или я снова вас не понял)
ilsur
так мне же надо чтобы асинхронная функция прождала допустим 3 секунды а затем продолжилась при том чтобы основной код продолжал работать пока функция ждет
MMM Stefan
что-то сделать не в основном потоке можно только в одном месте - изоляты
IDONTSUDO
Без авейта исполняй асинхроный код
ilsur
Без него тож пробовал Весь код все равно застывает на 3 секунды, а не продолжается в это время
Gorohov Valeriy
Кто-нибудь ловил подобную ошибку?
Gorohov Valeriy
Это сборка релизного APK
MMM Stefan
clean помогает в многих ситуацыях, пробовал?
Gorohov Valeriy
Если собрать profile и debug сборки, то release тоже соберется, но само приложение не запустится. Если собирать напрямую на устройство release, то всё норм.
Gorohov Valeriy
Это на нескольких устройствах. Пробовали очень многое.
MMM Stefan
build app bundle вообщето нужно использовать
Gorohov Valeriy
Заказчикам мне тоже бандл кидать?
Gorohov Valeriy
Что бы они могли посмотреть
MMM Stefan
там внутри будут под все платформы
MMM Stefan
откройте зипом бандл
MMM Stefan
там ничего нет, бинарники
Gorohov Valeriy
Заказчикам ты так-же объясняешь?
Gorohov Valeriy
И это имеет отношение к проблеме?
MMM Stefan
заказчикам отдаю бандл и не парюсь что у него за смарт, armv7, armv8...
Gorohov Valeriy
Конкретная проблема: не собирает релизный apk, зачем мне бандл?
Gorohov Valeriy
Это проблема конкретно этого чата или везде так? "- Кот сломал ногу, куда обращаться?" "- Зачем тебе кот? Кипи собаку, они реже ноги ломают."
MMM Stefan
да откуда мы можем знать почему не собирается, может где в нативе накосячил, может у флатер глюкнул, но то что неправильно деплоите апку - это факт, язвить то зачем... что за манеры...
MMM Stefan
собери тестовую апку, - прокатит, нативные файлики себе перекинь, может апдейт не по инструкции сделал и сломалось
MMM Stefan
собери с verbose, покажи лог
MMM Stefan
там же всьо пишет
Gorohov Valeriy
Так вот я и спрашиваю, кто сталкивался с подобным, у кого какие были причины. При этом расписал кейс. А как деплоить я и сам знаю .
MMM Stefan
ну я тебе написал уже
Gorohov Valeriy
Логи я и так выдал
Gorohov Valeriy
Конкретная ошибка, зачем-то релизу нужны файлы других режимов.
|