Программирование : Dart & Flutter по-русски
Ivan Pavlov
[
"В документации как обычно, многое что указано :)\n",
{
"type": "code",
"text": "child: FutureBuilder (\n builder: (BuildContext context, AsyncSnapshot snapshot) {"
},
""
]
Ivan Pavlov
Это в пакете async.datt
Ivan Pavlov
String на нужные тип меняется и получается что нужно)
tdesc
интересно, никто из индусов фейсбучек на флаттер не переписывал?
tdesc
нормальная была бы заявка на успех )
Kirill Aparin
Как сделать, чтобы писало - при переносе слова?
Kirill Aparin
Либо не разделяло целые слова
Kirill Aparin
А переносило, если только это 2 разных слова
Sergey Riabinin
Ребят, а понимание где stateful нужен, а где stateless само приходит в процессе практики?
Danil Shvets
Вот тоже не понимаю пока
Danil Shvets
Мне кажется практика поможет понять
Петросян Лёва
Все просто, если у тебя статический виджет, который раз написал и больше он не меняется, то наследуешь от statelesswidget, а если у виджета должны быть состояния и в зависимости от этого состояния будет меняться виджет, то statefullwidget
Karen
Друзья я что то не пойму, в cupertino не все иконки что идут в iOS?
Kirill Aparin
Там есть и другие нюансы, ты поймёшь, когда понадобятся stateful
Петросян Лёва
Есть подозрение что ты не тому пишешь)
Kirill Aparin
Используй stateless, если не используешь setState
Kirill Aparin
Спасибо, Юрий
Andrew Ka
выше было про setState(), дополню. ещё когда нужен context или доступ через GlobalKey ??
Kirill Aparin
То есть то что я использовал без stateful эти штуки, это плохо
Kirill Aparin
Нужен flutter #442
L
как-то можно скрыть полоску скролла в CupertinoTextField ? Она внизу отображается горизонтально и мешает
Andrey Kapitonov
[
{
"type": "code",
"text": "Привет"
},
", не подскажете. почему может не отлавливаться исключение?\n\n",
{
"type": "code",
"text": "Future init(PlayerSource source) async {\n try {\n fireStatusUpdated();\n\n final oldController = _videoPlayerController;\n _videoPlayerController = _makeController(source);\n\n WidgetsBinding.instance.addPostFrameCallback((_) async {\n await oldController?.dispose();\n });\n\n await _videoPlayerController.initialize();\n\n fireStatusLoaded();\n\n await _videoPlayerController.play();\n } on PlatformException catch (e) {\n fireStatusError(e);\n }\n }"
},
""
]
Andrey Kapitonov
Ошибка инициализации плеера, я спецом не дал ему ссылку на поток, чтобы обрабатывать такие ошибки, но что-то вообще никак..
Andrey Kapitonov
[
{
"type": "code",
"text": "[ERROR:flutter/lib/ui/ui_dart_state.cc(166)] Unhandled Exception: 'package:flutter/src/services/message_codec.dart': Failed assertion: line 111 pos 15: 'code != null': is not true."
}
]
Andrey Kapitonov
Не пойму, почему Unhandled Exception, когда я пытаюсь его обработать
L
[
"может ",
{
"type": "code",
"text": "on PlatformException catch (e)"
},
" поменять на просто catch e"
]
L
Я кстати так и не пофиксил проблемы с плеером при смене ссылки, у вас этот код работает?
Andrey Kapitonov
[
{
"type": "code",
"text": "[ERROR:flutter/lib/ui/ui_dart_state.cc(166)] Unhandled Exception: type '_AssertionError' is not a subtype of type 'PlatformException'"
}
]
Andrey Kapitonov
Работает, все нормально. Я просто хочу обработку таких ошибок на плеер возложить
Andrey Kapitonov
и кастомные виджеты выводить при определенных статусах
Andrey Kapitonov
[
"Ожидаю что я хотя бы увижу вывод в консоль своего текста\n\n",
{
"type": "pre",
"text": "void fireStatusError(PlatformException error) {\n print('ERRRRRORRRRR');\n this._status.value = PlayerStatus.error;\n }\n\n",
"language": ""
},
"а вообще я хочу поменять статус и вывести виджет с ошибкой"
]
Andrey Kapitonov
без on PlatformException?
Andrey Kapitonov
Нет, результат такой же
Евгений Скакун
Хей народ есть вопрос как можно отображать "showBottomSheet" поверх "bottomNavigationBar". Наглядный пример: сейчас при нажатии нас пин(скрин1) получается (скрин 2), а хотелось бы получить (скрин3)
Евгений Скакун
есть мысли ?
Andrey Kapitonov
Да, все внутри try, но я так понимаю он ругается на инициализацию,судя по стектрейсу
Andrey Kapitonov
Крч получилось)
Andrey Kapitonov
[
{
"type": "pre",
"text": "} catch (e) {\n fireStatusError(e);\n}\n\n",
"language": ""
},
"Хотя почему-то до этого не работала"
]
Andrey Kapitonov
А можно задавать в flutter что-то типа interface для виджетов?)
Олжас Сулеймен
ну у тебя функция не в try блоке исполняется а после, если конечна она в колбеке
L
Чето не пойму, как правильно хранить стейт в блоке. Мне нужно, чтобы он не терялся и был доступен из других частей приложения. Я делаю переменные в самом блоке, передаю в него ивенты, меняю переменные и передаю их через стейты. Это норма?
Kirill Aparin
Всё верно, так у тебя сохраняются переменные, вот их и используй для отправки повторного стейта
Kirill Aparin
Либо покажи, что ты хочешь сделать в коде
Kirill Aparin
Обязательно делать для всех видов разрешений иконку приложения? Или можно сделать 1 самого высокого качества и дальше android сам подрежет?
Sergey ?
андроид сам не подрежет
Roman Cinis
[
{
"type": "link",
"text": "https://medium.com/@tsinis/flutter-launcher-icons-ru-b1fb2576b1a1?source=---------9------------------"
}
]
Roman Cinis
в этом пакете такое возможно
Kirill Aparin
Я нашёл от гугла
Kirill Aparin
[
{
"type": "text_link",
"text": "Вот кому интересно",
"href": "https://romannurik.github.io/AndroidAssetStudio/icons-launcher.html"
},
""
]
Ivan
ну или можно создать андроид проект и заюзать имедж ассет и перетащить все сгенеренные папки в минмап и стоку адаптивной иконки в манифесте
Dmitry
кто-нибудь делал expandable container? хочу сделать карточку товара, внизу будет кнопочка "показать описание" нажимаю и контейнер расширяется вниз с анимацией проблема именно с анимацией сначала пытался через AnimatedContainer сделать, но там надо манипулировать именно полем height для того чтоб анимашка сработала а у меня высота не фиксированная потом попробовал через AnimatedSize и он как-то странно себя ведет, дергается вверх при экспанде (мб потому что лежит в сливере) есть идеи как реализовать?
Kirill Aparin
а я могу его юзать без создания нового проекта
Kirill Aparin
Типо когда душе угодно?
Ivan
у меня он не создаётся по какой-то причине) может я что-то случайно отключил)
Kirill Aparin
Ахахха будни разработчиков)
Sergey Riabinin
А игры несложные ведь тоже можно на флаттере писать?
Dmitry
никто не поможет???
Kirill Aparin
Почему бы не манипулировать height с помощью MediaQuery.of(context).size.height * 0.8(какой-нибудь процент от высоты экрана)
Dmitry
мне надо задавать height контейнера, в зависимости от высоты контента
Sergey Riabinin
Блин.. и всё? А где кто-нибудь ходит, анимируется, подбирает что-нибудь уже нельзя?
Ivan
[
{
"type": "link",
"text": "https://tproger.ru/translations/multiplatform-flutter-game-in-a-week/"
},
" может тебе зайдёт статья"
]
NewBalanceM5
[
{
"type": "link",
"text": "https://t.me/FlutterDevRu/372"
}
]
Sergey Riabinin
Спасибо. По крайней мере слово SpriteWidget звучит многообещающе.
Andrew Ka
[
{
"type": "link",
"text": "https://github.com/comerc/minsk8/search?q=heightFactor&unscoped_q=heightFactor"
}
]
Dmitry
не пойму как это работает
Dmitry
твоих рук дело? можешь рассказать?
Andrew Ka
[
"?? Тогда другой вариант ",
{
"type": "link",
"text": "https://github.com/comerc/minsk8/blob/943e5edeb0cdbd704a7307711970baf17c8566a0/lib/widgets/auto_increase_field.dart#L179"
},
""
]
Dmitry
я делал через AnimatedSize
Dmitry
мне надо, видимо, как-то сделать так, чтоб сначала увеличился размер конейнера, а после этой анимации появился контент
vasilich
Отключи скролл и попробуй) Должно перестыть дрыгаться)
Dmitry
но мне нужен скролл
vasilich
Как проанимируется верни обратно)
SP
Подскажите пожалуйста, если я пишу на bloc архитектуре. Нужно ли куда-то выносить обработчики нажатия кнопок
Angry TaigaFox
[
"Попробуйте это ",
{
"type": "link",
"text": "https://flutter.dev/docs/catalog/samples/expansion-tile-sample"
},
""
]
Dmitry
он только в листе работает у меня не listview, a customScrollView
Angry TaigaFox
Я его как то использовал вне листа всё ок было
Kirill Aparin
По идее да, ты их в ивенты делаешь, а вся логика проходит в самом блоке, а часть может ещё в виджете в bloc listener
Roman Cinis
[
"я делал псевдо3Д работающую в браузере, даже отхватил небольшой приз на хакатоне: ",
{
"type": "link",
"text": "https://github.com/tsinis/plan_et_b"
},
""
]
Art
Здравствуйте я Андроид программист и захотелось учиться flutter от чего начать ? Хорошие уроки или Курси o Flutter где могу найти ? Заранее спасибо))
Art
) там много разных тем о ней
vasilich
app brewery поищи
vasilich
Макс Шварценмюллер
vasilich
Или на шару РесоКодерка глянь
Alexandr Borisovich
мастер от патрона до кондома
Тима Егембердиев
[
{
"type": "link",
"text": "flutter.su"
},
" для начал можно почитать."
]
Alexandr Borisovich
1. запустил кнопкой из флаттера активити андройда 2. в запущенной активити жму на кнопку - сменить активити флаттера из кеша, 3. в запущенном флеттере из кеша жму кнопку из пункта 1. Получаю, что не найден No implementation found for method типа как будто я в андройде не прописал принимающий код из methodChannels Есть мысли, почему метод пропадает?
Daniil Kolyasnikov
Привет всем. Оффтоп вопрос для фрилансеров, какова стоимость часа разработчика на флаттере ?
Dmitry
шутка сама напрашивается, но я не буду
Daniil Kolyasnikov
Жги ??
Daniil Kolyasnikov
спасибо
DVS (Read The F.ng Manual) Studio (NoHello)
1200-?
Daniil Kolyasnikov
Я буду верить в 1500 за час, как в истину в последней инстанции ??
Dmitry
как вообще люди считают свою ставку за час? я обычно оцениваю сложность проекта и оговариваю с заказчиком общую стоимость и сроки
Kirill Aparin
Я короче от балды беру цифры из башки, которые мне не кажутся маленькими и на которые заказчик в принципе мог бы согласиться
Andrey Derkach
как сделать чтоб кнопки в ButtonBar делили между собой доступное простанство (stretch) ?
Daniil Kolyasnikov
По идее: (сколько хочешь денег в месяц(с учетом адекватности рынку) / количество реальных часов из статистики за месяц)* коэффициент наглости * коэффициент учета простоя если ты фрилансер *
Вадим
коэфф простоя это что в данном случае?
Daniil Kolyasnikov
например ты хочешь 80000 ты вырабатываешь 160 более менее эффективных часов ты не наглый поэтому 1 твоя загрузка в этом месяце планируется на уровне 80 часов значит он равен 160/80 80000/160*1*2
Вадим
Я в среднем вырабатываю 160, но в данном проекте планируется 80?
DVS (Read The F.ng Manual) Studio (NoHello)
я б просил как за 160)
Daniil Kolyasnikov
Не в данном проекте, а в данном месяце
Daniil Kolyasnikov
я бы за флаттер любую мобилку на 1,5 умножал, но чет не хотят столько платить ??
Daniil Kolyasnikov
Просто хочется, понять много или мало я беру, когда беру 600 за час
Kirill Aparin
Так вот кто цены роняет
Daniil Kolyasnikov
?? я на локальном рынке
Урусай
Предлагаю организовать профсоюз
DVS (Read The F.ng Manual) Studio (NoHello)
охх. это же цена веб-фронтендера-верстальщика
Daniil Kolyasnikov
Да, после 2,5 лет решил пересмотреть цены
Daniil Kolyasnikov
Картель ??
Muso Verda
гайз, я ведь правильно понимаю, что все эти моменты - это из Dart и это - так в Dart создается экземпляр класса - без ключевого слова new? Но при желании я могу писать и так - new Text('awesome text'). верно?
Dmitry
JS + Python = Dart
Daniil Kolyasnikov
js + c#
Kirill Aparin
new устарело, если у тебя есть желание писать ещё целых 4 лишних символа...
Dmitry
мнения очень сильно разделились
Roman Vasiliev
ну шарп это калька с жабы
Roman Vasiliev
можно убрать сразу
Kirill Aparin
Скорее они от С отделились
vasilich
Какой смысл этого голосования?)
Daniil Kolyasnikov
Объединить
DVS (Read The F.ng Manual) Studio (NoHello)
прост)
Kirill Aparin
Я короче в правилах видел такой пункт
vasilich
Как бабки над новорожденным «ой так на маму похож»)
Kirill Aparin
Он был под заголовком запрещено
Kirill Aparin
Что-то "Устраивать холивар"
Roman Vasiliev
глазки js, носик от java
Daniil Kolyasnikov
Не всегда.
Dmitry
вечер воскресенья, толпа кодеров хочешь отдохнуть и обсудить на что похож язык, на котором они всю неделю писали
Dmitry
коммунити это главное
Dmitry
лан, пойду тесты писать)
Daniil Kolyasnikov
что-то в душе пустеет, когда вижу как люди идут в воскресенье ночью писать тесты идут
Dmitry
у меня 10 вечера только) день еще не закончен
Muso Verda
теперь я точно увидел, что этот чувак - британец ))
Илья Максименко
А чо так ?
Илья Максименко
Не понял арифметики
Yerassyl Maikhanov
или индус
Илья Максименко
Я бы сказал так:
Илья Максименко
Dart = Kotlin / 2
Илья Максименко
Тогда да, согласен
Muso Verda
да ну ты что! где ты слышал, чтобы индусы так чисто делали ду-ю-спик-инглиш? ))
Yerassyl Maikhanov
Dart = (JS - shit) * (Java - shit)
Yerassyl Maikhanov
дай ссылку
Илья Максименко
* ( Kotlin - (вот бы эти фичи языка были в дарте))
Yerassyl Maikhanov
supercharged
Muso Verda
[
"да это известный на ютюбе чувак - \n",
{
"type": "link",
"text": "https://www.youtube.com/watch?v=km2P_KQJyO0&list=PL4cUxeGkcC9jLYyp2Aoh6hcWuxFDX6PBJ&index=6"
},
""
]
Yerassyl Maikhanov
эта либа даёт часть функций котлина
Muso Verda
да ты что?! ты мне глаза раскрыл! а я то думал - что у него не совсем так? ))))
Yerassyl Maikhanov
да у меня ор начался от первых слов
Yerassyl Maikhanov
эта манерность в речи ))
Muso Verda
ну ок. а есть еще один чувак - Todd Motto что ты скажешь о нем? ))
Yerassyl Maikhanov
кажется я нашел весёлые видосики))
????? ILyos >
не подскажите в чем проблема
Aleksey Lomov
Проходил курс от Максимилиана, не очень понравился. Растянуто. Думаю позднее от Анджелы купить. У неё кажется воды меньше
Паша
скорее наоборот)) у Анджелы курс сильно уступает по содержанию
Алексей Александрович
я его смотрю на скорости полтора + проматываю много водные процедуры прекрасные
Andrew Ka
[
{
"type": "link",
"text": "https://youtu.be/-fiwNaOqZ4I"
}
]
vasilich
Есть идея для следующего видео — дебаг и условные брейкпоинты
Aleksey Lomov
Спасибо! ????
Дэниэл Сонис
Всем привет , кто-то сталкивался с такой проблемой?
Roman Vasiliev
ошибки обычно в консоли смотрят, а не на экране
Sergey Riabinin
А есть вообще смысл Анджелу после Максимилиана проходить?
Kirill Aparin
Да зачем, вот же прям тут написано
Kirill Aparin
Даже код не нужее
Kirill Aparin
Очевидно сразу, как помочь человеку
Дэниэл Сонис
Уже исправил спасибо.
Kirill Aparin
Желательно не в чат
Паша
Я до конца Макса не досмотрел, включил Анджелу и пришлось всё пролистать так как ее курс это примерно 60% от курса Макса.
Sergey Riabinin
То есть вообще ничего нового в её курсе не было?
Паша
Слайды красивее С фаербейсом немного другое показала, а в остальном даже многое пропустила. Я бы сказал что она совсем по верхам прошлась. Ее я бы рекомендовал совсем не знакомым с программированием.
Паша
Ну и то.. после обоих открывать надо доку по Дарту сначала. И не вестись на провайдер) Анджела молодец что упомянула способы Стейт менеджмента, но плохо что не дала рекомендаций. Подсказка: провайдер херня. Не стоит на нем строить приложение. Блок в итоге проще оказывается.
Sergey Riabinin
«И не вестись на провайдер)» а что хоть это такое? Какая-то волшебная упрощалка?
Паша
Не Простейший способ поменять данные в стейтфул виджет и соответственно изменить его состояние
Паша
Его во всех курсах первым показывают
Sergey Riabinin
Ага, паттерн то есть такой.
Паша
Блок это что-то типа MVC
Sergey Riabinin
А вторым там, что-нибудь тоже покажут?
|