Программирование : Dart & Flutter по-русски
Nightwelf
я что-то не так возможно делаю, но не канает
Анатолий
не работает всмысле ошибка или возвращает а там нет данных?
Nightwelf
Error: Could not find the correct ScopedModel.
Анатолий
все три варианта из ошибки пробовал?
Nightwelf
ладно, пофиг. попробую bloc
Анатолий
такая ошибка происходит если он не может найти виджет
Nightwelf
сейчас попробую немного иначе
Анатолий
ты ребенка оборачивал в ScopedModelDescendant?
Анатолий
Ну тогда я сдаюсь, интересная штуковина конечно, локализировать данные
Nightwelf
у меня есть кнопка, я по клику кладу данные, потом перехожу по именованному роуту и хочу получить данные
Nightwelf
дак это не ребенок же?
Анатолий
он выше родителя
Nightwelf
на одном уровне)
Nightwelf
возможно получить?
Анатолий
эта штука работает по дереву вниз
Анатолий
вынеси на уровень выше
Nightwelf
минуту... мандаринку съем) подумаю
Nightwelf
дак это тогда в корень фигачить что ли?
Анатолий
ну если у тебя они вернего уровня то да
Nightwelf
попробую сейчас
Анатолий
если я правильно понял, тут идея изолировать стейт, доступ очень простой из любого ребенка
Анатолий
Сделай себе одну модель глобальную, и остальные уже на каждую страницу
Анатолий
Никто не запрещает использовать много разных моделей для разных целей
Nightwelf
[
"Widget build(BuildContext context) {\n return MaterialApp(\n title: 'tmp',\n theme: ThemeData(\n primarySwatch: ",
{
"type": "link",
"text": "Colors.blue"
},
",\n ),\n initialRoute: '/',\n routes: {\n '/': (BuildContext context) => new Home(),\n '",
{
"type": "bot_command",
"text": "/page1"
},
"': (BuildContext context) => new Page1(),\n },\n );\n }"
]
Nightwelf
куда тыкать ScopedModel
Анатолий
оберни MaterialApp
Nightwelf
ураааааааааааааа!!!
Анатолий
кстати эта штука мне понравилась, очень простая
Nightwelf
смотрю просто вот этот курс: Udemy - Learn Flutter & Dart to Build iOS & Android Apps
Nightwelf
хочу попробовать написать что-то свое, ради теста
Nightwelf
ну короче ты понял)
Nightwelf
спасибо тебе огромное!
Анатолий
обращайся, не я так мне ??
Олжас Сулеймен
а как правильно отнаследоваться от класса который Literal extends Expression implements Built, LiteralBuilder>
Maria
он там странно (на мой взгляд) эти модели использует. Не обязательно все запихивать в один класс, можно сделать много разных моделей и получать более узкие изменения, которые нужны конкретному виджету
Анатолий
MyClass extends Literal например так
Анатолий
MyClass extends Literal или так
Nightwelf
я до середины дошел, там уже столько понаписано! трехкнопочное приложение, а столько классов уже
Олжас Сулеймен
да так и делал но генератор ругается
Maria
и все с одинаковыми именами ??
Олжас Сулеймен
[
{
"type": "link",
"text": "https://github.com/google/built_value.dart/issues/177"
},
" почти"
]
Олжас Сулеймен
built_value_generator
Анатолий
касательно генератора не вкурсе, но язык позволяет )
Ruslan Kryzhanovskyi
Привет всем, есть вопрос, каждый раз при перезагрузке Android Studio v. 3.2.1 сбивает для себя как бы это сказать формат файла что ли. То есть при открытии этого файла в Android Studio он открывается как обычный текст, без подсветок а при редактировании нет подсказок. Даже сама иконка файла меняется в вкладке Project. Лечится это удалением файла и созданием такого же с таким же именем и сожержанием. Что делать? Как фиксить? А во собственно как это выглядит в вкладке Project:
Ruslan Kryzhanovskyi
Второй файл ломается каждый перезапуск
Анатолий
?? секретные имена файлов ...
Ruslan Kryzhanovskyi
именно
Pavel Shilyagov
поэтому и студия их не подсвечивает, секретные же
Pavel Shilyagov
а вообще у кого-то была такая проблема, попробуй просто переименуй файл
Ruslan Kryzhanovskyi
о, спасибо, хоть что то
Александр Котков
Народ подскжаите, как в ListView проверить что прокрутка началась? Мне нужно повторить поведение скрытия клавиатуры как на iOS в таблицу
Maria
Передать скроллКонтроллер и подписаться на изменения например
Александр Котков
у него негту состояний
Александр Котков
он вызывается когда скролл идёт, если сильно скрольнуть, затем нажать на клаву, она скроется так как скролл продолжается
Igor Filippov
Билдер начал работать после инициализации знач началась)))
Igor Filippov
Но это бредовый вариант
Maria
Не очень поняла, что нужно тогда
Александр Котков
ios gjkmpjdfkbcm&
Александр Котков
айфонами пользовались?
Maria
Нет. Наверное в этом дело??
Igor Filippov
Тут все нищуки)
Александр Котков
Есть экран диалог , где сообщеньки и поле ввода) по назажтию на поле ввода, открывается клава, когда список человек скроллить клава скрывается, если же список продолжает скролиться и юзер нажал на поле клава снова октрывается, мне нужно повторить это поведение)
Александр Котков
я сам с андроид) но тестовые айфончики есть
Александр Котков
Просто у ScrollController нету блин состояний, мол начали скролить, анимация скролла остановилась и т.п.
Maria
Это прям писать надо? В смысле можно контролировать поведение клавиатуры?
Александр Котков
клаву можно хайдить да)
Александр Котков
в ios там вообще можго регулировать высоту клаву, в телеге реализованно
Александр Котков
точнее насколько она на экране показана
Maria
А скролл надо остановить при повторном тапе?
Александр Котков
нет скролл должен продожаться) но клава открыться
Maria
В голову приходит только флаг, но насколько он лучше проверки билдера неясно. Странно, что нет статуса никакого
Григорий Иванько
кто нибудь менял программно цвет иконки из ассета?
Nikita Yatskivskiy
Ребят, я правильно понимаю, что наличие mixin - это что-то вроде аналога множественного наследования?
Анатолий
Что-то отдаленно напоминающее
Alexander Gusakov
при сетСтейте в котором у меня меняется цвет кнопки по нажатию у меня еще есть колбек функция для изменения данных и отправки в родителя - так вот это все в одном сетСтейте и данные отправляет а вот цвет кнопки не меняется, хотя если убрать колбек то все работает норм
Igor Katsuba
может с примером будет всем понятнее?
DVS (Read The F.ng Manual) Studio (NoHello)
рекомендуют сначала сделать всю нагружающую логику и только потом делать setState (из документации)
N Y
Ребзя тут кто нибудь есть знающие charles
Dmitriy Vasilyev
Сниффер?
N Y
Нет программу для слежки трафика
N Y
Не знаю как называется
N Y
Кто нибудь с этим работал?
Artyom Nesterenko
[
{
"type": "link",
"text": "https://t.me/dartlang_jobs"
}
]
Alexander Gusakov
Спасибо, не знал
admin
[
{
"type": "mention",
"text": "@dartlang_jobs"
}
]
Иван Мартьянов
Спасибо =)
Brijesh D
[
{
"type": "link",
"text": "https://www.youtube.com/watch?v=QpI9jdJ-4Ys"
}
]
Evgeny Kot
[
"В канале ",
{
"type": "link",
"text": "https://t.me/dartlang_jobs"
},
" появилось две первых вакансии для Flutter. Поздравляю! ??"
]
???????
Господа, подскажите, пожалуйста плагин для создания КАСТОМНЫХ карт на флаттере.
???????
Допустим мне надо сделать карту игры или карту здания. Естественно также нужна потдержка меток.
admin
[
"не могу понять почему не работает в FormState метод reset() при нажатии на кнопку ничего не происходит ",
{
"type": "link",
"text": "https://pastebin.com/A35FwhXn"
},
""
]
DVS (Read The F.ng Manual) Studio (NoHello)
Поля должны быть формовыми
DVS (Read The F.ng Manual) Studio (NoHello)
Вроде TextFormField
admin
в тех видеоуроках что изучаю flutter 0.4.4 там работало
DVS (Read The F.ng Manual) Studio (NoHello)
Хм.. На них же нет встроенного обработчика событий формы. Странно. Мб путаю чего
admin
теперь понял) запомню это точно
Rail Kamalov
[
"Может быть кто сталкивался с проблемой?\n\nУ меня имеется PageView с кастомной анимацией перехода между страницами. Метрики для анимации я получаю с помощью PageVisibilityResolver из PageTransformer (lib/pager/page_transformer.dart)\nпримерно так:\n\n",
{
"type": "pre",
"text": "PageTransformer(\n pageViewBuilder: (context, visibilityResolver) {\n return PageView.builder(\n // реализация страниц с анимацией переходов \n );\n },\n),",
"language": ""
},
"\n\nВсе работало хорошо, до момента пока мне не понадобилось встроить внутрь страниц SingleChildScrollView.\n\nСУТЬ ПРОБЛЕМЫ: При вертикальном скролле на странице начинает «проигрываться» анимация переходов между страницами. Другими словами PageTransformer начинает получать метрики скролирования от SingleChildScrollView, замещая метрики скролирования от PageView. \n\nКак сделать чтобы метрики скролирования от SingleChildScrollView не попадали в PageTransformer?"
]
Ivan Frolkin
Господа, небольшой оффтоп - вот если купить у джетбрейнса тока вебшторм можно будет удобно обновлять EAP версии AppCode и IDEA? Есть у кого опыт такой?
Anton Anokhin
Думаю, с этим вопросом лучше писать в поддержку jetbrains, а не в чат.
Artyom Nesterenko
Если я правильно понял, то их JetBrains Toolbox для вас.
Ivan Frolkin
Я вот им пользуюсь по учебной лицензии, очень привык - удобно, но там лицензия за 600 баксов) Я такую не потяну за свой счёт
Nightwelf
есть такая проблема, может кто сталкивался. есть TextField и надо чтобы build его заполнил, т.е. присвоил значение. говорю controller: new TextEditingController(text: item.text) все работает, но если ткнуть в него для изменения, то курсор встает в любом случае в самое начало, но никак не в том месте, куда ткнули, но видно что сначала он был там
Igor Katsuba
создай контроллер в State, а не создавай каждый раз новый в build
Igor Katsuba
а вообще есть TextFormField и у него есть свойство initialValue
Mikhail
еще есть инсайд инфа что в inscale начали на нем проекты заводить
Олжас Сулеймен
почему у меня ощибка при присв. мапе значения по ключу в рантайме? вкладка посередине
Олжас Сулеймен
или я туплю
Олжас Сулеймен
второй час в поисках ((
Derek Z
ну говорит что у тебя должен быть String, а оказываеться нет
Олжас Сулеймен
по типам там все верно
Pavel Shilyagov
а ошибка говорит об обратном)
Олжас Сулеймен
ну там же динамик
Анатолий
там же принт до камента
Олжас Сулеймен
слева вкладка идет присвоение контексту
Олжас Сулеймен
может кто обяснит на пальцах чет я сильно туплю чтоль
Олжас Сулеймен
контекст дата значение же динамик
Pavel Shilyagov
что такое target?
Олжас Сулеймен
таргет это ссылка на значени переменной в теле фора
Олжас Сулеймен
'{% for user in users %}{{ user }} {% endfor %} это user, далее под ключем user м context'e сохраняется значения для доступа из тела цикла
Анатолий
А где у тебя создание экземпляра контекста?
Vitaliy
Кто сталкивался с переносом dimens.xml в flutter? Есть какая-то альтернатива или хардкодить просто?
admin
[
{
"type": "link",
"text": "https://m.habr.com/post/435688/"
}
]
Олжас Сулеймен
чет он упорно видит в динамик мапе List
Yergali
всем привет. кто работал с image picker? после добавления библиотеки выходит ошибка D8: Program type already present: android.support.design.widget.CoordinatorLayout$1
Анатолий
ты гуглил этот текст?
Анатолий
велью пофигу, у тебя динамик
Олжас Сулеймен
тоже стринг
Олжас Сулеймен
Map data = {}; че за непонятная магия
Анатолий
ты сообщи как найдешь причину )
Олжас Сулеймен
типичная разницая типов обявленой переменной и самого значения
Pavel Shilyagov
И когда дарт научиться за такое бить по рукам во время компиляции?
Pavel Shilyagov
Ну это совсем грустно
Олжас Сулеймен
короче не юзаем var обявляем переменную явно
Анатолий
но контекст ведь мап
Анатолий
схерали он листом вдруг стал?
Олжас Сулеймен
воть именно
Анатолий
в рантайме мап же
Pavel Shilyagov
Так и он есть мап, только ожидает в value тип List
Анатолий
Получается он меняет тип на Map ?
Анатолий
исходя из данных?
Pavel Shilyagov
Да, создал с одним типом, а вывел во время компиляции с другим
Pavel Shilyagov
Короче так себе вывод типов на дарте
Анатолий
походу нельзя инициализировать данными
Олжас Сулеймен
да явно надо было указывать типы
Олжас Сулеймен
где там врайковские строгие правила для линтера
Анатолий
линтер не поможет
Анатолий
в общем в конструкторе не инициализируй переменную явно, сделай цикл по данным и присваивай ??
Dmitriy Vasilyev
А можно кратко подытожить, почему нельзя написать var, какие из-за этого траблы?
Олжас Сулеймен
ну тут проблемы были из за него, да и сам сглупил
Олжас Сулеймен
мне нужен был динамик а не лист
Анатолий
Получается наоборот вывод в дарте типов правильный
Анатолий
уже в коде ошибка была
Анатолий
и да, можно было статически такое проверять
Олжас Сулеймен
про вывод я не говорил, тут в том дело что я его передаю в контекст который и жду от него этого
Pavel Shilyagov
я про вывод во время компиляции. Если тип при объявлении вывелся как Map > то дальше его нельзя было использовать как Map без явного каста, компилятор должен такое отлавливать
Pavel Shilyagov
хотя конечно тут во всем виноват dynamic)
Dmitriy Vasilyev
Можно в ctor сделать data = new Map .from(_data);, если такое подходит.
Анатолий
Чет я не понимаю
Олжас Сулеймен
попробуйте w['key'].add(1)
Dmitriy Vasilyev
Да это не важно, там же присвоение идет на другом уровне.
Dmitriy Vasilyev
Или..Или добавить в описание класса дженерики. И сделать Map data
Олжас Сулеймен
весело крч с типами в дарте
Олжас Сулеймен
особенно в нативе когда в поле обекта можно скинуть все что угодно
Dmitriy Vasilyev
Ну по мне все логично, чутьчку не очевидно. Сам мап ты присвоить можешь, поле data без претензий, ведь Map > полне себе укладывается в тип Map.
Проблема в том, что потом то мы уже в Map> data[key] пихаешь что-то не то (как я понял, стринг вместо листа)
Dmitriy Vasilyev
То есть, каждый отдельный пункт совершенно очевиден. Может быть не очевидно, когда произошла подмена типа
Олжас Сулеймен
да вывод норм, ну он же обявлен динамиком и от него этого и ожидают
Анатолий
там динамик, специально ж сделано чтоб пихать что угодно
Dmitriy Vasilyev
Ну просто это у поля data тип map с dynamic. А метод []= ты вызываешь у реального объекта в памяти, у которого уже тип List
Олжас Сулеймен
вот меня это и прикалывает
Олжас Сулеймен
обявил переменную через вар, присвоил ее переменной которую обявил явно, все ок, а тут
|