Программирование : Dart & Flutter по-русски
A Kuper
Я не понимаю о чем речь, а оплата нужна через stripe + клиенты для приложения не из СНГ
Пашка
он ещё не пришёл, а уже такое впечатление
Ilya Goguadze
Знает кто-нибудь как текст сделать в середину кнопки
Arkadiy Filimonov
ну это прям базовое
Arkadiy Filimonov
сделай контейнер и помести туда как следует и центр укажи
Serge Shkurko
[
"ты не там padding установил, паддинг в кнопке означает внутренние отступы\nудали его оттуда и оберни кнопку в \n",
{
"type": "pre",
"text": "Padding(\n padding: ...\n child: Button(...)\n)",
"language": ""
},
""
]
Пашка
что джунам платите, если не секрет?
Arkadiy Filimonov
вакансий пока нет, появятся дам знать)
Arkadiy Filimonov
если интересуешься поиском работы
d
убрать странный паддинг из кнопки? и обернуть в Center, но, возможно, и без этого вроде и так по центру будет
EcsFlash-
Убрать непонятный паддинг (он смещаяет сам текст, а не кнопку), чтобы смещал кнопку, нужно кнопку обернуть в паддинг, у Text() есть штука под названием textAlign, есть просто Align, но для последнего нужно сам текст оборачивать в него (align)
pavel larionov
Как преобразовать адрес (например, Москва, улица пупкина дом пупкина) в координаты и добавить в firebase?
Sergey Shobin
[
{
"type": "link",
"text": "https://pub.dev/packages/geocoder"
}
]
Илья Цымбалюк
ребят хэлпаните Когда создаешь тему в main Theme.of(context).textTheme.bodyText1 Я где-то видел что можно взять оттуда стили, но некоторые изменить, как это сделать?
Илья Цымбалюк
Во а как его правильно писать ?
d
Если интересует TextStyle, то примерно на нем можно вызвать copyWith: final style = Theme.of(context).textTheme.bodyText1; final newStyle = style. copyWith(*тут новые параметры)
d
Ну или заинлайнить сразу
Илья Цымбалюк
да, спасибо
Эмиль
Ребята, подскажите, пжлст, как настроить такую стилизацию дерева? Я не могу сформулировать вопрос гуглу
tdesc
bracket pair colorizer
Alexey
Народ. Всем привет. Кто что использует для генерации кода по свагер спеке?
admin
Здравствуйте, в имуляторе не заходит не появляется приложение со счётчиком, не в андроиде не в VC cod, как зайти в приложение?
Andrew Shalaev
На flutter можно же виджеты делать?
Пашка
а ему нужно что то вроде древовидного
Sasha
[
{
"type": "link",
"text": "https://github.com/flutter/flutter/issues/60026"
}
]
deargo
Попробуй через консоль
Yuriy Yurchenko
Material Theme UI Plugin, но у меня есть подозрение, что там есть неплохие такие утечки памяти, приходится периодически студию перегружать
Andrew Shalaev
Для андройда интересуюсь :)
Sasha
[
{
"type": "link",
"text": "https://github.com/hemanthrajv/flutter_home_screen_widget_example"
}
]
Руслан
Посмотрел доклад Rive, крутая анимация, но что то у них с версиями путанно. Есть гайд на новую версию(rive beta) и интеграцию во флаттер?
Andrey
Кто знает, за что это отвечает?
Andrey
если что характеристики вот
Alexander Melnikov
Анализатору студии озу не хватает, попробуй увеличить xmx до 2 гб или более
Andrey Unger
у них бетта не юзабелная, все проекты в предыдущей версии импротрировать в новую оттуда нельзя, а регистрация в старую закрыта))). Я намучился пока случайно ненагуглил ссылку на регистрацию в старую версию. Пробовал их анимацию во flame - прикольно выглядит, но обычные спрайт-таблицы удобнее
Roman Cinis
фиша райва в том, что там можно делать интерктивные анимации, управляемые кодом в рантайме
Andrey Unger
тоже самое можно и на спрайтах делать - просто больше кода придется писать. Да и чтобы анимации там делать - надо быть дизайнером. Я потратил вечер - в итге так криво получилось что ужас) Вообщем если только отдельный человек будет там тебе анимашки рисовать у которого руки под это заточены. Самому человечка анимировать засадно
Roman Cinis
я на нём делал игру для хакатона, руками такое за два дня не сварганить...
Andrey Unger
так ща руками и не варганят. в каком-нибудь блендере рисуют и анимируют, а потом автоматически на спрайты раскладывают. И людей знакомых с блендером больше чем с райвом. Но инструмент полезный, согласен. Когда допилят 2ю версию)). Но опять же, у меня руки не заточены самому в нем что-то делать. Не мое это (((
Roman Cinis
первая сейчас и удобнее и юзабельная чем вторая, вторую думуаю ещё долго пилить будут до такого состояния что бы с первой можно было сравнивать
Andrey Unger
так нафига они тогда закрыли туда регестрацию? Во второй вообще пользоваться ничем не возможно, даже свои ассеты нельзя добавить)
Roman Cinis
да хрен его знает, думаю хотели марш броском закончить вторую и забить на первую, но видимо не вышло, да и им ещё мигрировать на null-safety ещё, так что от гугла тоже подарочков хватило :), плюс ковид, плюс у них новый инвестор, который вложился во вторую версию
Roman Cinis
а на первой тоже косяков достаточно, но не так что бы не решаемо, ну и документация и обуч. материалы — так это вообще не существует почти
Roman Cinis
PR для первой версии игнорят...
fox_module.js
ребят, как управлять цветом (хотя бы brightness параметром) системых виртуальных клавиш?
Vadym Buhaiov
Всем привет, подскажите как сделать функционал по типу Lazy Loading + ListView но с разметкой в две колонки как GridView.count(crossAxisCount: 2, ...)
AL
Доброй ночи уважаемые! Использую пакет flutter_sidebar, навигация работает, но не догоняю как отобразить справа мои готовые виджеты...список в jsone...подскажите пожалуйста?
Vadym Buhaiov
Там в секции example есть пример
Vadym Buhaiov
звучит сверх тупо
AL
Да смотрел, на картинке видно что значения из списка отображаются как положено... я не пойму как мне отобразить виджеты вместо наименования меню(
Vadym Buhaiov
ну любой виджет вместо текста туда подсовывай
AL
Тогда же в меню отобразится например "Example ()"
Vadym Buhaiov
[
"там\n",
{
"type": "code",
"text": "final mainContent = Center(\n child: tab != null\n ? Text.rich(\n TextSpan(\n text: 'Selected tab: ',\n style: _textStyle,\n children: [\n TextSpan(\n text: '$tab',\n style: _textStyle.copyWith(\n fontWeight: FontWeight.bold,\n ),\n ),\n ],\n ),\n )\n : Text(\n 'No tab selected',\n style: _textStyle,\n ),\n );\n\n"
},
" Сделай mainContent = Container(Button())"
]
AL
Все просто, ска не догоняю
Vadym Buhaiov
а что не так ?
IB Akhrorov
Здравствуйте, есть алтернатива bloclistener в других state managements?
AL
Почему ты предложил тут кнопку?
Vadym Buhaiov
ну подложил что первое в голову пришло, а так туда бы Column(Row(...)) и основной контент я же правильно понял у тебя правую часть не выходит сделать ?
Vadym Buhaiov
или ты хочешь в самом сайд баре вместо пунктов меню, компоненты подставить ?
AL
Ааа нет, по ui так сказать норм все, мне нужно "пункт меню" - "соответствующий стэйт" ,а в примере типа "пункт меню" - "пункт меню"
Vadym Buhaiov
а, думаю оно для этого не предназначено
AL
Ладно буду разбираться
Andrey Unger
чертов wrike со своим bugzarena! спать пора а я второй час жуков гоняю (((
Руслан
Драсти, а ссылка осталась у вас на первую версию? Она существует ещё?
Руслан
Что это? Погуглил bugzarena ,не нашел
Пашка
[
{
"type": "link",
"text": "https://bugz.wrike.tech/"
}
]
Пашка
[
"Подскажите кастомный виджет, или решение\n",
{
"type": "link",
"text": "https://drive.google.com/file/d/1TzIUBr6abRQI87xAVu4NOPG67aftzceK/view"
},
""
]
Пашка
что бы кнопка так же с футером взаимодействовала
MMM Stefan
[
"есть батерейка, ",
{
"type": "link",
"text": "https://pub.dev/packages/flutter_facebook_login"
},
" кто-то пытался решить проблему как задать язык внутри webview ?"
]
Илья Цымбалюк
Ребят, привет всем. Такая вот проблема при заливе новой версии в гугл плей. Набор Android App Bundle подписан с помощью неправильного ключа. Выберите правильный ключ (SHA1: 4F:2D:C2:37:BD:ED:54:FB:05:1F:D2:C5:04:95:63:75:3E:5D:B2:EA) и повторите попытку. Ключ тот же что и раньше, всё проверил перепроверил. Не могу понять в чем причина. Может есть возможность проверить каким ключом aab файл подписан? Может комп его вообще решил не подписывать?
Aleksandr
Поменяй версию на release
Eldar
Ребя, подскажьте как хендлить нажатие на пуш когда аппка (ios) полностью закрыта? В аппке (как и во всех нормальных) при старте чекается валидность access_token'a и при необходимости токен рефрешится и переходит на лавный экран. Думаю поэтому NavigationService при onLaunch не может перейти, так как ВиджетТри еще не свформирован. Помогите плз.
Илья Цымбалюк
чуть подробней пожалуйста
Aleksandr
У меня так пишет если билд дебага отправляю
Aleksandr
Меняю в градле на релиз и всё норм
Илья Цымбалюк
так flutter build appbundle вроде и есть релиз версия. Или я ошибаюсь?
Илья Цымбалюк
прикол то в том что я внес небольшие правки. И сменил версию, решил новую версию залить и выходит данная ошибка. Раньше было норм
Maxim Gora
Делать .configure тогда когда дерево сформировано уже, например на домашнем экране
Eldar
вобщем я закомментил строку UNUserNotificationCenter.current().delegate = self as? UNUserNotificationCenterDelegate
Eldar
Это конечно дичь с точки зрения iOS
Davron Asrorov
Всем привет, подскажите, кто сталкивался, поставили admob, около недели назад, выпустили апку в продакш, на андроиде все ок, на иос при дебаге отображается тестовый баннер, но на реальных устройствах продакш баннер так и не появился?
Davron Asrorov
тестовый баннер, при реальных id
Дмитрий
Всем привет, может кто уже купил macbook pro 13 m1, xcode, android studio работают норм?
Andrey Unger
в закрепленных сообщениях конкурс от дартапа
Aleksandr Belov
[
"Доброго дня! Народ, подскажите по гуглоплею, пожалуйста. Выложил аппку, внутреннее тестирование активно, но по ссылке ",
{
"type": "code",
"text": "View on Google Play"
},
" получаю ненайденную страницу. Это нормально?"
]
Evgeny Cherkasov
[
"Кто нибудь использовал ",
{
"type": "code",
"text": "microseconds"
},
" в DateTime?\nКакая то странная проблема. Создаю дату где все поля 0, кроме года, месяца и дня. Получаю ее microsecondsSinceEpoch, вычитаю из этого значения 1, и создаю новую дату с полученным значением microsecondsSinceEpoch. Ожидаю, что это будет предыдущий день, у которого milliseconds и microseconds будут 999. Но создается дата с тем же днем."
]
Daniel S
кто-нибудь использовал --dart-define=FOO_VAR=BAR_VAR ? у меня почему-то пусто всегда в String.fromEnvironment
Evgeny Cherkasov
[
"Если использовать milliseconds, то работает как ожидается, создается дата с предыдущим днем (конец дня).\nЧто с ",
{
"type": "code",
"text": "microseconds"
},
" может быть не так?"
]
Alexey Nechaev
Привет! А кто-то делал супер-аппы на флаттер? Можете опытом поделиться? Вообще реально такое сделать?
Daniel S
хм, после ребилда заработало... ??
tdesc
яндекс делает, почитайте их статью о флаттер разработке
Andrew Shalaev
Дайте ссылку пожалуйста
Timur Karimov
никто не делает, флаттер не для супер апп
tdesc
спасибо тимур за ваше мнение )
Evgeny Cherkasov
[
"Интересно... ",
{
"type": "code",
"text": "DateTime(2020, 1, 1, 23, 59, 59, 999, 499)"
},
" создает 01-01-2020, ",
{
"type": "code",
"text": "DateTime(2020, 1, 1, 23, 59, 59, 999, 500)"
},
" уже 02-01-2020.\nЭто нормальная логика?"
]
Daniel S
яндекс вроде такси для водил на флаттере делало..
Рахман Рустамов
Друзья, подскажите, пожалуйста Реально ли резонно делать CustomPaint, если то что надо нарисовать легко сделать через пустые контейнеры?
Рахман Рустамов
Ну вот, например
Mitai
сделали, но не для России, обкатывают его где то, больше инфы было в флаттер подкасте, они там рассказывали
Yerassyl Maikhanov
текст не переносится на следующую строчку, пробовал Wrap не работает
Пашка
оберни column в expanded
Yerassyl Maikhanov
не помогает
Рахман Рустамов
100% решение это использовать RichText вместо Text
Рахман Рустамов
Но, вроде, надо оборачивать в Flexible сам текст и еще что-то сделать
Рахман Рустамов
Можно, но я написал, что это 100% решение, которое поможет если лень заморачиваться
Evgeny Cherkasov
В Expanded надо обернуть
Yerassyl Maikhanov
это не работает)
Yerassyl Maikhanov
ща код скину
Yerassyl Maikhanov
[
{
"type": "pre",
"text": "Row(\n crossAxisAlignment: CrossAxisAlignment.start,\n mainAxisAlignment: MainAxisAlignment.spaceEvenly,\n children: [\n CircleAvatar(\n maxRadius: cubicSize,\n backgroundColor: (model.box.get(key) as String).toColor(),\n ),\n SizedBox(width: 10),\n Container(\n height: 50,\n child: Column(\n mainAxisAlignment: MainAxisAlignment.start,\n crossAxisAlignment: CrossAxisAlignment.start,\n children: [\n Text(\n '${data[key].percent.toString()}%',\n style: Theme.of(context).textTheme.bodyText1,\n textAlign: TextAlign.center,\n ),\n Text(\n labels[key] + formatter(data[key].count * 100),\n style: captionStyle,\n overflow: TextOverflow.ellipsis,\n softWrap: true,\n maxLines: 5,\n ),\n ],\n ),\n )\n ],\n );",
"language": ""
}
]
Yerassyl Maikhanov
последний где maxlines это то что нужно чтобы переносилось
Evgeny Cherkasov
Контейнер после сайзед бокса в экспандед
Anton Suhorada
Всем привет. Кто подскажет какую либу для сканирования qr кодов использовать лучше? Использовал qr_code_scanner, но он не отлавливает qr код на андроиде
Владимир Калашников
Через firebase ещё можно
Denis
тоже была херня с тем, что не отлавливает QR на андроиде, но фиксилилось ободком на коде(белый 5 пикселей) и начало распознавать
Andreu
да ну? не замечал таких проблем
Andreu
юзаю в проде qr_code_scanner, только форкнул его, чтобы подправить и версию андроида понизить
Vadym Buhaiov
Всем привет, подскажите как сделать функционал по типу Lazy Loading + ListView но с разметкой в две колонки как GridView.count(crossAxisCount: 2, ...)
Andrey Kapitonov
Привет, а Play Console разрешает заводить второй аккаунт с одним и тем же платежным адресом?
Andrii
[
{
"type": "link",
"text": "https://api.flutter.dev/flutter/widgets/GridView/GridView.builder.html"
},
" пробовал?"
]
Batyrzhan uulu
Дороние флаттерчане, нужна помощь. Я делаю оплату с приложения. И возник вопрос вот после оплаты, бэк мне должены редирекнуть пользователя в один урл при удачной оплате, и в другой урл при фейлуре. Вот как быть здесь, даже не имею представление????
Sergey Riabinin
Ребят, подскажите пожалуйста, как можно сделать обновление страницы, когда возвращаешься на неё?
Sergey Riabinin
Что-то вроде viewDidAppear в ios.
Sergey Riabinin
Ну то есть пользователь идет в настройки, там что-то меняет и возвращается, и по возвращении он уже видит изменения.
Batyrzhan uulu
setState(){}
Batyrzhan uulu
То есть обновите стейт и все
Sergey Riabinin
Хм, так а в каком месте это делать? Там же кнопка вернуться на другом экране находится.
Oleksandr Pidlisnyi
пуш роута возвращает future, резолвится, когда пушнутый роут попнулся можно на этот резолв реагировать
Serge Shkurko
Он для flutter разработки пока не подойдёт, не будет работать сборка iOS плагинов Следи за реализацией Homebrew для m1
Andrey Unger
интересно, много народа в bugzarena участвуют?)
Anton Anokhin
подтягиваются участники, пока нет статистики
Дмитрий
[
"Вот обходной путь, пока не прибудет нативная поддержка:\n\nНайдите приложение Terminal в папке Utilities (Finder> Go> Utilities).\nВыберите ",
{
"type": "link",
"text": "Terminal.app"
},
" и щелкните его правой кнопкой мыши, затем выберите «Дублировать».\nПереименуйте дублированное приложение \"Терминал\" во что-нибудь очевидное и отчетливое, например \"Rosetta Terminal\".\nТеперь выберите недавно переименованное приложение «Rosetta Terminal», щелкните правой кнопкой мыши и выберите «Получить информацию» (или нажмите Command + i).\nУстановите флажок «Открыть с помощью Rosetta», затем закройте окно «Получить информацию».\nЗапустите «Rosetta Terminal» как обычно, он будет полностью поддерживать Homebrew и другие приложения командной строки x86."
]
Andrey Unger
эх, жаль времени мало, нормальную выборку не сделать по генетическому алгоритму. Даже в несколько потоков не успею сгенерить ничего толкового (
Anton Anokhin
попробуйте, мы регистрацию на этот конкурс закроем 4-го вечером
Andrey Unger
ну хоть так.)))
Илья Цымбалюк
Ребят, нужно по условию сгенерировать 1, 2 или 3 элемента. Подскажите какой нибудь аналог ListView.builder
Batyrzhan uulu
Кто нибудь делал оплату через uniteller????
Дмитрий
Пока нет, но собираюсь брать на m1, не брать же intel
Дмитрий
Функция, возвращающая column?
Илья Цымбалюк
да уже разобрался. Спасибо
Timur Karimov
почему не intel
Vyacheslav
[
"Всем привет! Буду продолжать засорять чат вопросами про js ??\nНа опознание файл, который после выбора картинки в браузере используется для загрузки на сервер. \nКакой тип у него? Пробую его засунуть в виджет Image в коде флаттера, но всегда ругается, что \n",
{
"type": "pre",
"text": "Expected a value of type 'Uint8List', but got one of type 'File$'",
"language": ""
},
""
]
Vyacheslav
как его конвертировать в что-то читаемое для флаттера?
Олжас Сулеймен
читаешь байтики и отдаешь Image.memory
Vyacheslav
?? уже 100500 способов использовал, никак
Олжас Сулеймен
Image.file ?
Vyacheslav
еще раз спасибо за подсказку про document.body!
Vyacheslav
не, тоже матерится на File$
Олжас Сулеймен
а так это у тебя не dart:io File
Олжас Сулеймен
[
{
"type": "link",
"text": "https://web.dev/read-files/#read-content"
}
]
Олжас Сулеймен
[
{
"type": "link",
"text": "https://api.dart.dev/stable/2.10.4/dart-html/FileReader-class.html"
}
]
Timur
Всем привет, сори за нубский вопрос. Как обновить состояние окна после навигации на след окно? К примеру есть окно с полями для ввода данных и кнопка перехода на след окно, и мне надо, чтобы при нажатии "назад" пред. окно обновилось.
Олжас Сулеймен
[
"по аналогии с жс только на дарте и не dataUrl а блоб ",
{
"type": "link",
"text": "https://api.dart.dev/stable/2.10.4/dart-html/FileReader/readAsArrayBuffer.html"
},
" вроде"
]
Sapar Jumabekov
У меня нереально странный баг?? Не срабатывает вход по телефону через firebase authentication на android - только если водишь номер вставленной симки. Если вести номер который вставлен симкой в другой в телефон - входит??. Пожалуйста подскажите, куда капать
Vyacheslav
ага спасибо! Уже читаю
Fasater Alexander
Ты тестил на разных симках?
Fasater Alexander
Может это только на одной так
Дмитрий
navigator.pushReplacement что то вроде того
Andrey Unger
then повесь на навигатор - оно выполнится при поп
Alexey
Всем привет. Разбираюсь с bloc совместно с cubit хочу в bloc сохранять информацию о сеттингах полученных с бека описал состояние данных Loading, Error, Inital, Success добавил в класс cubit метод который дергает запрос на сервер с получением данных. в каком месте мне надо дернуть метод, чтобы состояние в блоке обновилось
Andrey
ну можно в ини стейте самой страницы)
Andrey
или на кнопку метод повесить)
Alexey
не. хочется чтобы запрос самостоятельно ушел.
Andrey
я знаю что в инит сейте можно
Andrey
_cubit.getAppConfig
Alexey
initState если не ошибаюсь имеется только в Statefull виджетов.
Пашка
только не в инит стейте
Пашка
там где блок прокинул create: (context) => bloc..add(event),
Sapar Jumabekov
Россия, Украина, Казахстан
EL CAMINO
[
"Привет, подскажите пожалуйста, когда запускаю dartdoc из контейнера не подхватывает ",
{
"type": "link",
"text": "readme.md"
},
" файл в итоге индекс страница пустая"
]
Makhmud Ushamiev
Разобрался?
Damir
Всем привет, недавно пришел во флаттер. Можно ли переписать на фдаттере уже ранее выложенное приложение в маркет/стор и не потерять загрузки?
Павел Гершевич
На счет App Store не скажу, а вот для Google Play должно 2 вещи совпасть - имя пакета и подпись
Andreu
Всем добрый, пдскажите пожалуйста, как в Google Play скинуть отложенную сборку? я так понимаю сейчас по стандарту сразу после проверки релизится обновление
Damir
Имею ввиду, приложение нативно в маркете, задача стоит переписать с натива на флаттер
Alexey
но вижу что запрос не уходит. и кажется что это не совсем корректно
Davron Asrorov
Всем привет, подскажите, кто сталкивался, поставили admob, около недели назад, выпустили апку в продакш, на андроиде все ок, на иос на эмуляторе отображается тестовый баннер, но на реальных устройствах продакш баннер так и не появился?
Dmitry Repin
[
"Привет всем. Я тут видос про асинхронность в дарте сделал. Если кто хочет подробнее разобрать в теме - велкам)\n",
{
"type": "link",
"text": "https://youtu.be/ZbwWhUsVkOo"
},
""
]
Damir
Имею ввиду, приложение нативно в маркете, задача стоит переписать с натива на флаттер. P.s вдруг первый вопрос непонятно объяснил)
Andreu
ну он так и сказал. имя пакета и цифровой ключ должны совпасть в старом и новом приложении, а так без проблем
|