Программирование : Dart & Flutter по-русски
(;?_?) Ivan Zhuravlev ???>?
[
"они обратно на ",
{
"type": "link",
"text": "mail.google"
},
" всех тащат"
]
Rinat Kurmashev
На какие примеры ориентироваться?
admin
Но в данном случае именно дизайн
admin
И в инбокс он крутой
(;?_?) Ivan Zhuravlev ???>?
мобильный дизайн инбокса почти такой же как у гмейл
(;?_?) Ivan Zhuravlev ???>?
а десктопный - тормозное говно ???>?
Rinat Kurmashev
Эмм.. гмэйл мне говорит что он инбокс
Rinat Kurmashev
Сегодня обновилось приложение
Rinat Kurmashev
А, не, это я туплю)
Rinat Kurmashev
Просто дизайн гмайл поменяли
Max??
Есть ли как-то возможность из BlocBuilder'a изменить состояние виджета который находится вне этого билдера? К примеру в BlocBuilder'e у меня вызывается stateLoading и в этот момент я хочу где-то ниже(вне этого BlocBuilder'a) менять состояние виджета(делать его не кликабельным к примеру. Я думаю над тем чтобы сделать обычный слушатель который будет менять состояние нужного виджета при вызове stateLoading но вдруг есть варианты как это сделать через Bloc
northelks
на эту страницу, где вызывается блокбилдер, передать другой блок (который делать некликабельность) и вызывать/диспатчить его из блокбилдера первого (тем самым, где-то там, во втором блоке и второй странице произойдёт обновление)
Max??
Состояние виджета который нужно менять это обычная кнопка(контейнер внутри которого кнопка и лоадер, лоадер нужно показывать когда происходит загрузка и прятать когда загрузка завершена), то есть нужно сделать некий LoaderBloc который будет для одной кнопки в своих стейтах(в своём блокбилдере) будет в одном случае отображать только лоадер а в другом только кнопку). Я изначально так и подумал сделать но потом пришла мысль мол:"Делать отдельный блок для кнопки...?"
uri
что мешает обернуть другой виджет в BlocBuilder от того же блока и при лоудинге рендерить серый оверлей и ignorepointer?
uri
вплане зачем второй блок если они синхронны по стейту
uri
если кнопка то там достаточно null вместо onPressed чтобы она стала некликабельной
Jakos
Возможно ли как-то без Android Studio обойтись для запуска эмулятора?
uri
[
{
"type": "link",
"text": "https://developer.android.com/studio/run/emulator-commandline"
}
]
Максим
Установить эмулятор без Андроид студио - отдельный квест 20-го уровня, который мне не удалось пройти. А вот запустить имеющийся AVD можно нажав CTL + shift + p и набрать flutter: launch emulator.
Jakos
[
{
"type": "mention",
"text": "@Malsimka101"
},
" Спасибо. А то не очень хочется устанавливать Android Studio."
]
Максим
Наверное все таки придется, хотя бы для того чтобы легко установить эмулятор. Лично у меня никак иначе не получилось.
Jakos
SDK через brew можно, но вот эмулятор пока не нашёл как.
Vladimir Abramov
Лучше xcode
Vladimir Abramov
Шустрее чем avd будет
Jakos
Так в xcode только на ios запустить можно
Vladimir Abramov
Эт да. Но пока в платформу не углубляться то в ios эмуляторе удобнее чем в avd.
Vladimir Abramov
Но вообще и андроид sdk сливается с гуглового сайта и там все тебе утилиты что студия пускает.
Vladimir Abramov
В том числе и avd manager
Jakos
Да, я нашёл способ без студии
Konstantin Smirnov
Всем привет! Кто-то уже заливал свое приложение в AppStore Connect?
Konstantin Smirnov
Я залил, в сборках увидел свой билд со статусом Обрабатывается. А потом сборка пропала из списка.
Konstantin Smirnov
Я обновил версию, немного изменив код и перекомпилировал. Потом снова залил. И та же самая ситуевина: сборка в списке появилась со статусом Обрабатывается и снова пропала спустя пару минут
Konstantin Smirnov
Если пытаюсь залить уже ранее залитую сборку, то на этапе заливки ругается, что этот билд уже существует...
Konstantin Smirnov
Ранее с нативными приложениями такого не было, может Apple специально игноит приложения с флаттером еще на этапе аплоада? Шутка, конечно, но в чем может быть проблема, я не знаю...
Ruslan Kryzhanovskyi
Скорее всего дело в тебе, так как я участвовал в проекте который релизили под андроид и айос и все прошло хорошо
Анатолий
Дело не во мне, дело в тебе!
Konstantin Smirnov
Да, так скорее всего и есть, но пока я не в понятка, что со мной не так. Буду разбираться...
Mikhail Kolchanov
[
"Всем привет!\nПытаюсь зарелизить под иос приложение. Заменил иконки в xcode и поменял все, что нужно по флаттеровской инструкции.\n\nПри сборке выдает ошибку:\nWarning: Multiple build commands for output file .../clientApp/build/ios/Debug-iphonesimulator/",
{
"type": "link",
"text": "Runner.app/Runner"
},
""
]
Mikhail Kolchanov
Кто-нибудь знает, в чем может быть проблема?
Anatoliy Dvoryashin
[
{
"type": "link",
"text": "https://blog.expo.io/flutter-unimodules-bb66b9bf21de"
}
]
Kit Khilobok
Уже решили, проблема была в иконках
Kit Khilobok
Они где-то дублировались
Kirill Valyavin
[
"Товарищи, что вы думаете про такой например код (в целом)?\n",
{
"type": "pre",
"text": "class ReactiveCounter extends StatelessWidget {\n @override\n Widget build(BuildContext context) {\n final button = ReactiveButton(text: \"+1\");\n return Column(\n children: [\n RxText(naturals.zipWith(button.pressedEvent, (n, _) => \"Counter value: $n\")),\n button\n ],\n );\n }\n}",
"language": ""
},
""
]
Kirill Valyavin
naturals - бесконечный стрим, содержащий последовательно натуральные числа, pressedEvent - void-стрим, срабатывающий по нажатию на кнопку
zinge ??
Я sdk в консоли поставил. avd сделал. В vscode запустил. Студию не стал ставить.
Kirill Valyavin
Где взять актуальную реализацию Either/Option?
Ed Briton
[
"насчет эмулятора дроида юзаю ",
{
"type": "link",
"text": "https://genymotion.com"
},
" - намного шустрее и удобнее"
]
northelks
доброе утро, а как часто/много вы используете key для виджетов?
northelks
и добавляете ли const для виджетов? в каких кейсах?
First Last
[
{
"type": "link",
"text": "https://pub.dartlang.org"
},
"\nПросто смотри тут"
]
Kirill Valyavin
Ну я например посмотрел Either и Option, нашлось что-то не то вообще
First Last
А пробовал maybe/result?
First Last
Не всем нравится left/right
Andrey R.
Всем привет. Кто то может посоветовать образовательные ресурсы по флатеру помимо офф. документации
First Last
И да, в дарте эта тема весьма и весьма не популярна.
Kirill Valyavin
Мне надо именно два равноправных значения. Не ошибка или отсутствие. А находятся какие угодно пакеты, только не тот же dartz
First Last
dartz первый в выдаче :)
First Last
Не суть в общем
Rinat Kurmashev
всем привет, при открытии bottom sheet диалога получаю exception.- No MaterialLocalizations found.
Rinat Kurmashev
кто-то сталкивался?
Rinat Kurmashev
[
{
"type": "pre",
"text": "localizationsDelegates: [\n GlobalMaterialLocalizations.delegate,\n GlobalWidgetsLocalizations.delegate,\n ],\n supportedLocales: [\n const Locale('en', 'US'),\n const Locale('ru', 'RU'),\n ],",
"language": ""
}
]
Rinat Kurmashev
прописано
Daniil S
получилоь у кого-нибудь клаву вызвать в webview?
Андрей Хливнюк
автофокус ни?
Андрей Хливнюк
я из деревни, но мало ли
First Last
[
{
"type": "link",
"text": "https://t.me/dartlang_jobs"
}
]
Николай Артамонов
О, спасибо )
Rinat Kurmashev
кто-то работал с картами?
Rinat Kurmashev
как то можно убрать дефолтную кнопку my location?
Дмитрий Андриянов
Есть 2 списка. Нужно чтобы элемент из одного списка появлялся в другом с анимацией местоположения (плавно переезжая). Есть что-то из коробки?
Mike Dark
flutter_webview_plugin
ophite
Кто то успешно выкладывал своё приложение в эпл и андроид сторы (на флаттер)?
Анатолий
Можно сразу вопрос задавать
Анатолий
а не подходить к нему кучей сообщений
Дмитрий Андриянов
[
{
"type": "mention",
"text": "@Belokotov"
},
" спасибо!"
]
Stas Buldakov
[
"Ребята, мне нужно загрузить файл и как-то сообщать о процессе загрузки. Я придумал пока делать так: ",
{
"type": "pre",
"text": "Future downloadFile(String filename, Function(double) onProgress) {}",
"language": ""
},
""
]
Stas Buldakov
Но может можно как-то сделать красивее?
Анатолий
А чем текущее не красивое?
Stas Buldakov
Не нравится использование Future и коллбека вместе
Анатолий
Тоесть цепочка из 3-х стримов была бы лучше?
Daniil Kolyasnikov
Если хочешь красиво, то используй ValueNotifier.
Daniil Kolyasnikov
Минус в том, что нужно будет подписываться на изменение значения и прокидывать сам valueNotifier
Daniil Kolyasnikov
По-сути это базовый для TextEditingController, так что api там похожее. И поведение соответственно тоже
northelks
ты можешь вернуть стрим, а не фьюче, и потом через yield посылать прогресс
Maria
Тут вроде кто-то был из nevercode или мне показалось?
Maria
Если кто знает, дайте контакт. Хочу один скриншот послать
northelks
[
{
"type": "mention_name",
"text": "Andri",
"user_id": 488221086
},
" ping"
]
northelks
вот, думаю можно ему писать)
Andri
[
"Привет, кто нибудь использует тут Testmagic? Хочу фидбэк. O? ",
{
"type": "link",
"text": "https://play.google.com/store/apps/details?id=io.nevercode.testmagic"
},
""
]
Evgeny Kot
[
"Кстати, новая вакансия в ",
{
"type": "mention",
"text": "@dartlang_jobs"
},
""
]
First Last
Настрой уже бота))
Evgeny Kot
Тогда потеряется человечность и духовность
Дмитрий Андриянов
Использую OverlayEntry, В нем TextFormField. И он не получает фокус, можно только тапнуть и вставить из буфера. Клавиатура соответственно не показывается. Как можно это поправить?
Анатолий
[
{
"type": "mention",
"text": "@bunopus"
},
" лучшие побьявились"
]
Анатолий
Нужен бот который будет удалять сообщение только что вошедшего человека если в нем есть ссылка
Анатолий
Сразу с сылок не начинают
uri
"privet pocony zacenite moi app http:..."
Evgeny Kot
Да я смотрел, вроде есть антиспам боты, но они бывают ошибаются :-/
Анатолий
ну человека банить сразу не надо, но от одного удаленного сообщения никто не умирал
Олжас Сулеймен
Vote to ban
uri
подозрение -> капча -> отвечаешь - велком
Trump
У меня был недавно. Зашел на канал и сразу присоедился. Меня забанили, написали типа что сразу присоедился как бот быстро.
Анатолий
Ну это уже через чуж жестокий режим )
Anatoliy Dvoryashin
у кого какая версия build_runner стоит в pubspec.yaml в dev_dependencies
DVS (Read The F.ng Manual) Studio (NoHello)
В нем свой контекст. Не основного сккффолжа, а оверлея. Если юзаете контроллер, может влиять такое
DVS (Read The F.ng Manual) Studio (NoHello)
Сорь за пинг
Anatoliy Dvoryashin
Unable to load schema from 'xebialabs': No content. Unable to load schema from '\\c:\users\anatoliy\.vscode\extensions\xebialabs.vscode-devops-as-code-0.1.0\node_modules\devops-as-code-language-server\out\server\src\schema.json':
Anatoliy Dvoryashin
schema.json
Anatoliy Dvoryashin
кто-нибудь скиньте свой
Анатолий
попробуй удалить
Мумитроль
А это нормально страдать от отсутствия импортов при написании плагина под Flutter?
Анатолий
Опиши подробней свои страдания а не воспринимай их как данность, может остальные не страдают
Мумитроль
В смысле зависимости подключенные в gradle при написании Platform кода не замечает, да, все собирается, но пишешь как в блокноте
Анатолий
собирается и пользуется нормально?
Анатолий
Там же вроде прокси на дарте пишешь для натива
Анатолий
Или я не понял о чем ты
Мумитроль
Пример: подключаю я SDK рекламного сервиса в build.gradle и импорты не видит, тем не менее джавовый код собирается)
Мумитроль
Такое ощущение, что плагин не умеет их резолвить
RЯ
открой андроид проект а не флаттера)
Мумитроль
Т.е. писать с двух открытых проектов одновременно?
Мумитроль
Один для проверки интеграции с дарт кодом, а другой для Java (два окна)?
Мумитроль
Попробую, чет сразу не подумал, спасибо)
Анатолий
импорты кто не видит и где не видит?
Анатолий
в джаве? в дарте?
Мумитроль
Ну Flutter это же не gradle проект, вот, видимо, и не может увидеть импорты в Java-коде)
Анатолий
ты просто странно обьясняешь, любой флаттер проект состоит минимум из 3-х частей
Анатолий
и ты говоришь что что-то там не видит импорта
Мумитроль
Почему же, достаточно точно) Не с парвого сообщения, правда, а со второго)
Анатолий
тоесть ты пишешь только на джаве, дарт тут ни при чем пока что, и ты сейчас просто пытаешься нативную частть сделать для дарта
Анатолий
и в твоих джава файлах не видит импорта?
Мумитроль
[
"Мне уже помогли. Но для остальных подсумирую.\n\n",
{
"type": "bold",
"text": "Проблема:"
},
" Если проект открыт как Flutter проект и Вы вдруг решили написать некоторый код в Java, то в случае подключенных зависимосте в build.gradle (на стороне платформы) импорты для них работать не будут, будет все красным подсвечивать.\n\n",
{
"type": "bold",
"text": "Решение:"
},
" Просто открыть android часть как Android проект в AndroidStudio)"
]
Дмитрий
то же самое для отладки платформенного кода) работает только когда открываешь со стороны платформы))
admin
Тяжко наверное будет писать платформенный iOS код не под маком
admin
Точнее невозможность
Дмитрий
ну без мака и приложение не собрать для йоси
admin
[
"Наверное поэтому многие приложения на ",
{
"type": "link",
"text": "itsallwidgets.com"
},
" только под андроид"
]
Дмитрий
я думаю ещё в стоимости лицензии разраба дело) 99$ ios вроде
admin
Как будто у разработчиков нет денег
Artyom Nesterenko
Это сегодня у всех такая фигня с Connect.
Jakos
Кто может сталкивался? floatingActionButton не хочет по нажатию прорисовывать alert
Jakos
Может на ios не рабоатет?
uri
а ты в MaterialApp обернул все это дело?
Jakos
Да конечно, если я там пропишу просто onPressed: () => print("test") то всё работает
uri
попробуй hwlow исправить на hello
uri
а если серьезно то его надо показывать через showDialog метод
uri
^ бида в том что showDialog-y скармливается контекст StatelessWidget-a внутри котого MaterialApp
Vyacheslav
[нытьё] флаттер очень хреново картинки рендерит. 5к на 3к рендерится больше секунды
Vyacheslav
придётся мип мапы делать как в старые добрые 3д-времена
uri
первоначальная прогрузка сакс это да, зато в repaintboundary после прогрузки летает норм с зумом и тд
Vyacheslav
поставил вместа семлп-картинок нормальное разрешение, сразу омэгэшечка стала
uri
по опыту скажу что лучше 1 раз закешировать на гпу большую картинку чем например при зуме прогружать ее более чоткую версию, тк будет лагать при прогрузке
Vyacheslav
что значит «закешировать»?
Vyacheslav
в контексте флаттера?
uri
RepaintBoundary ( Image)
uri
6к на 6к полет 120фпс) но грузится до 2х сек
uri
и еще не советую таким картинкам менять Opacity - это сразу rip
uri
можно чуть больше контроля над кешем получить если картинку рендерить самому через CustomPaint, там в 4 строки делается виджет аналогичный Image
Vyacheslav
можешь пример кода? я тут не особо шарю
Vyacheslav
только табилца может помереть)
Vyacheslav
но время рендера очень разнится в зависимости от картинки
uri
[
{
"type": "link",
"text": "https://pastebin.com/3rY8gYHM"
}
]
Максим
Привет. Сразу к вопросу: как сделать чтобы можно было выйти на предыдущую страницу как в iOS, свайпом слева на право (как в телеграмме, к примеру)?
Максим
У меня есть вариант открывать новое окно не через навигатор, а через stack, в нем dismissible, в нем scaffold (или что то другое).
admin
Вместо MaterialPageRoute используй CupertinoPageRoute и будет как в IOS
admin
Это прописывается в Navigator.push, и надо подключить библиотеку cupertino
Максим
О, спасибо, а то чуть не накостылил.
Daniil Kolyasnikov
Просто повесь GestureDetector поверх экрана. Отлавливай только свайп вправо, остальные жесты не будут обрабатываться, дочерние интерактивные элементы будут более приоритетны, так что проблем не будет. Не советую совмещать material и cupertino это и есть костыли.
Максим
Почему не советуешь?
Daniil Kolyasnikov
Потому-что это две больших библиотеки визуальных компонентов. Если ты их заимпортишь, то во первых размер увеличивается, во вторых хуй знает, какие проблемы еще вылезут. Полгода назад, у меня цвета скакали от экрана к экрану. И выскакивали красные экраны именно из-за конфликтов
Daniil Kolyasnikov
Сейчас подобного поведения не встречал, но лучше быть уверенным, чем на пороховой бочке жить.
Максим
Дарт же не берет ничего лишнего. Он компилирует только то, что используется.
Максим
[
{
"type": "link",
"text": "https://habr.com/ru/company/wrike/blog/330832/"
}
]
Максим
Под "Так а почему дарт?".
Daniil Kolyasnikov
А как ты говоришь ему, что используется ? Через импорт и использование компонентов. Внутри CupertinoPageRoute используются Cupertino компоненты
Максим
Я предпологаю, что он видит что я использую в коде, а что нет. Слышал , что он вплоть до методов класса обрезает, если я их не использую.
Максим
Сейчас кое что доделаю и попробую скомпилировать с MaterialPageRoute и с Cupertino. Вот и узнаем.
Daniil Kolyasnikov
Да, эмпирический опыт рулит. Но я не про размер приложения.
Daniil Kolyasnikov
Размер в памяти.
Daniil Kolyasnikov
Лишние классы
Daniil Kolyasnikov
4 как минимум тянутся с CupertinoPageTransition
admin
А дизайн под айос как делать?)
Daniil Kolyasnikov
Это да, это проблема. У меня обычно 95% виджетов кастомные(дизайнер шалун), так что мы не делаем дизайн под ios отдельным.
admin
Ну хотя бы не материал, и то хорошо
Daniil Kolyasnikov
Сейчас где-то плачет дизайнерский отдел гугла
Егор Шепелев
И я с ними чуть-чуть
Mike
подскажите пожалуйста, как заставить scrollbar принудительно отображаться? (сейчас прикреплю скриншоты)
Mike
т.е. содержимое модального окна листается, однако нет индикатора прокрутки
Daniil Kolyasnikov
Положи SingleChildScrollView в scrollbar
Daniil Kolyasnikov
[
{
"type": "link",
"text": "https://docs.flutter.io/flutter/material/Scrollbar-class.html"
}
]
Mike
Спасибо, заработало Возможно ли индикатор всегда принудительно показывать?
Daniil Kolyasnikov
Всегда scrollable виджеты в scrollbar клади и он будет показываться.
|