Программирование : Dart & Flutter по-русски
Dima Puris ?????
ок, дело хорошее, но чет гуглю по надобности
Evgeny Cherkasov
Ну так и само приложение может убиться.
Anton Averin
[
"Если кому интересно трекать прогресс разработки фоновых операций в Flutter\n",
{
"type": "link",
"text": "https://github.com/flutter/flutter/issues/32164"
},
""
]
Kirill Aparin
Как сделать, чтобы снизу кнопки не двигались при нажатии, сейчас та на которую нажимаешь немного двигает остальные, тем самым выделяясь
Kirill Aparin
[
{
"type": "pre",
"text": "BottomNavigationBar(\n backgroundColor: background,\n currentIndex: nowIndex,\n showUnselectedLabels: true,\n...)",
"language": ""
}
]
L
Чето не найду, чем отличается List .from() от .cast() ?
Roman Vasiliev
Всем, посмотри исходники
Maxim Gora
То есть, сегодня ещё нет возможности делать задачи в фоне через флаттер? ??
Anton Averin
зависит от задачи, для простых есть готовые плагины. что-то более сложное придётся писать вручную
Eldar
Мужики Silent уведомления на Андроиде хендлятся стандартным пакетом ? Только Айос надо подрубать через натив(channel) ?
Дмитрий Костин
[
"Всем привет\nгугл мапс показыват адрес правильно, скопировал LatLng из адресной строки и google_maps_flutter показывает не на то место (второй скрин), стрелкой указал где должен быть маркер.\n\n",
{
"type": "code",
"text": "CameraPosition(\n target: LatLng(52.0220003, 47.8199242),\n zoom: 17,\n );"
},
""
]
DVS (Read The F.ng Manual) Studio (NoHello)
так CameraPosition - это не позиция маркера, это позиция центра карты возможно там где делается маркер заданы другие координаты
Дмитрий Костин
[
"те же самые\n\n",
{
"type": "code",
"text": "_markers.add(\n Marker(\n markerId: MarkerId('Мой офис'),\n position: LatLng(52.0220003, 47.8199242),\n ),"
},
""
]
DVS (Read The F.ng Manual) Studio (NoHello)
недостаточная точность
DVS (Read The F.ng Manual) Studio (NoHello)
я взял эти координаты, кинул в гугл и он показал ровно то что должен был:
DVS (Read The F.ng Manual) Studio (NoHello)
+ тут видно что они различаются по X. причем сильно
DVS (Read The F.ng Manual) Studio (NoHello)
52.0220003, 47.8199242 - из кода выше 52.022109, 47.821920 - из гугла
Дмитрий Костин
понял, спасибо данный пакет только по LatLng работает или можно сделать показ карты по адресу?
Dmitry
чтоб по адресу, это тебе геокодер нужен
Dmitry
у гугла он вроде есть, отдельным сервисом
Dmitry
почитай доку кидай адрес по хттп запрос в гугл геокодер, он вернет тебе координаты
Олжас Сулеймен
[
{
"type": "link",
"text": "https://twitter.com/lesnitsky_dev/status/1301822494870040577"
}
]
ilx13
Добрый день. Как в PageView сделать так чтобы, половина второго элементы тоже отображался?
Alex Kharechko
фигня это всё
Alex Kharechko
реклама конференции по сути
Sergiy Nevedomyy
PageController(viewportFraction: 0.5)
Alexander PhatoM
Сюда как то скидывали название либы с блоком в отдельном потоке, но не могу найти, может помнит кто?
Angry TaigaFox
[
{
"type": "link",
"text": "https://pub.dev/packages/isolate_bloc"
}
]
Daniil Kostin
Подскажите, кто какую архитектуру использует? Интересен весь зоопарк: чистый ли bloc или redux, иои ddd в смеси с чем-то или что-то еще. Если можно кратко, то почему. Какое покрытие тестами и что в основном перекрываете? Сколько скринов(полных страниц), примерно, в приложении?
tdesc
чатик архитектурный посмотри
Daniil Kostin
спасибо, что-то я запамятовал
Emil
всем привет кто может помочь? есть такая функция, она меняет язык но только после полной перезагрузки приложения, что надо сделать чтобы перевод был моментальным?
Gorohov Valeriy
Язык не в ней меняется. Что делает _locale()?
Emil
ну точнее выше функция это просто сохранение изменения
Gorohov Valeriy
А кто применяет локаль?
Gorohov Valeriy
Т.е. то что ты скинул, сохраняет код языка и возвращает локаль.
Gorohov Valeriy
кто еще использует _locale() или LANGUAGE_CODE?
Семён undefined
не проще константы использовать?
Alex Kharechko
почему время неправильно отображается во флатере? в объекте время с часовой зоной. а во флатере почему может быть с разницой в GMT
Alex Kharechko
json_seriazable использую
Alex Kharechko
а блин с апишки без таймзоны приходит…
Tagir
подскажите, плз, отукда можно брать макеты, чтобы тренироваться в верстке?
Alexander PhatoM
Покажи полный код, я уже работал с моментальным изменением языка
Maks Kravchenko
как сделать чтобы виджет по ширине растягивался на 100% ширины родителя? пробовал пару способов, на которые flutter ругается: - SizedBox с width: double.infinity - Column с crossAxisAlignment: CrossAxisAlignment.stretch MediaQuery.of(context).size.width тоже не подходит, да и не нравится так как это 100% ширины экрана, а не родителя
Maks Kravchenko
да и вообще все эти варианты выглядят “костыльно”
Дмитрий Щербаков
Смотря кто родитель
Alexander PhatoM
LayoutBuilder
Maks Kravchenko
LayoutBuilder constraints.maxWidth?
Alexander PhatoM
Да, в билжер передается constrains, maxWidth и будет Макс ширина, которую можно занять
Maks Kravchenko
у меня туда приходит infinity, на что и ругается flutter
Alexander PhatoM
Покажи код
Maks Kravchenko
[
{
"type": "pre",
"text": "LayoutBuilder(\n builder: (BuildContext context, BoxConstraints constraints) {\n return SizedBox(\n width: constraints.maxWidth,\n child: RaisedButton(\n child: ButtonText(title),\n ),\n );\n }\n)",
"language": ""
}
]
Дмитрий Щербаков
не надо в sizedbox пихать ничего
Дмитрий Щербаков
лучше в контейнер
Maks Kravchenko
учту, спасибо)
Дмитрий Щербаков
sized box он типа как span в вебе
Дмитрий Щербаков
например надо тебе задать точное расстояние между элементами по горизонтали или вертикали
Maks Kravchenko
если я правильно понял - LayoutBuilder будет корректную ширину отдавать если у родителя она явно указана
Maks Kravchenko
FractionallySizedBox тоже не подошел
Alexander PhatoM
Нет, по-моему он сам расчитывает сколько может занять максимально и минимально в зависимости от родителя и того что внутри
Maks Kravchenko
после того, как я обернул LayoutBuilder в Container с width: 200, у меня constraints.maxWidth с infinity поменялся на 200
Alexander PhatoM
А до этого он во что был обернут?
Maks Kravchenko
я делаю акцент на явно заданную ширину)
Maks Kravchenko
убрал явную ширину у контейнера - теперь maxWidth infinity
Roman Vasiliev
Вы пытаетесь с LB текущий реальный размер вытягивать что ли? Он для другого
Alexander PhatoM
Все хорошо...
Alexander PhatoM
Я не понимаю что ты там не так делаешь или что тебе не нравится
Alex Kharechko
для code есть кстати тема под флатер заточенная
Семён undefined
и чем она заточена
Семён undefined
обычная тема
Alex Kharechko
цветов больше ставит
Пашка
моя мне больше нравится)
Семён undefined
я к примеру использую One Monokai Theme, уже настолько привык, что иные темы даже трогать не хочется
Alex Kharechko
тоже get +
Alex Kharechko
а чё get_cli не используешь? он генерит структуру под get заотченную
Alex Kharechko
он виджеты контроллеры и бинбинги сам генрит и прописует в роуты
Семён undefined
потом как нибудь проверю, сейчас всё устраивает
Семён undefined
я только начал пробовать этот пакет
Семён undefined
кстати, а почему Get.theme Get.width и тд некорректно работают в stateless виджетах?
Alex Kharechko
не знаю. Get.width у меня работает вроде а с темой не знаю оттуда даже не пробовал её тащить слишком много цветов по проекту они просто у меня в отдельном кслассе
Alex Kharechko
а точка входа GetMaterialApp?
Семён undefined
просто иногда приходится использовать MediaQuery по старинке
Alex Kharechko
я как-то и не пробовал из get тему брать даже не знал что она там есть
Семён undefined
ибо пакет тупо не видел изменения, пока не произошла перестройка
Alex Kharechko
там mediaquery етсь тоже
Alex Kharechko
не понимаю
Семён undefined
ну мне приходилось делать хот ресет, чтобы значения с get обновились
Семён undefined
ну типичная работа со stateless виджетами
Семён undefined
и шо, мне ради одного гета ещё оборачивать в обикс? я уж лучше тогда по старинке всё сделаю
Alex Kharechko
так это часть пакета же
Семён undefined
да, но это излишне
Alex Kharechko
это его билдер
Alex Kharechko
наоборот ведь
Семён undefined
ты не понял
Alex Kharechko
не надо весь виджет перестраивать а только виджет обернутый
Семён undefined
зачем мне оборачивать что-то в обикс только ради того, чтобы написать Get.theme вместо Theme.of(context)?
Пашка
а как же следовать одной концепции?
Alex Kharechko
ну ты говоришь что не перестраивается виджет
Alex Kharechko
яж и спрашиваю он вообще должен? он обернут в Obx
Alex Kharechko
тут даже в чистом сталесс работает всё, не понимаю как он не перестраивается
Пашка
парни как вызвать moveCamera у google_maps из блока в блоке собираю маркеры, нужно сделать так что бы при клике на маркер, вызывался метод moveCamera у контроллера. контроллер передавать в блок? или как?
Alex Kharechko
если ты обернешь в Obx виджет который не использует обсервы он ассерт выкинет, что типа ты зря там впихнул Obx поэтому я вообще понял вопроса
Alex Kharechko
ну это не причем, это разные вещи. я не знаю почему у тебя Get.theme не работает это уж к расработчикам пакета с багами.
Dmitry
а кто-нибудь яндекс кассу подрубал на флаттере?
Dmitry
через вебвью не очень хочется
Ivan Pavlov
[
"Кто подскажет в чём разница?\n",
{
"type": "code",
"text": "Navigator.pushNamed(context, RouteName);\nNavigator.of(context).pushNamed(RouteName);"
},
""
]
Alex Kharechko
[
{
"type": "link",
"text": "https://pub.dev/packages/yandex_checkout"
}
]
Alex Kharechko
похоже это оно
Alex Kharechko
[
{
"type": "link",
"text": "https://pub.dev/packages/yandex_kassa"
}
]
Roman Vasiliev
В первом навигатор ищется под капотом, во втором можно подсунуть любой (необязательно так как написано в твоем сообщении)
Roman Vasiliev
Навигаторы могут быть вложенными
Ivan Pavlov
А какой следует использовать для тривиальных задач навигации?)
Roman Vasiliev
Я всегда второй вариант использую, но это вкусовщина
Ivan Pavlov
[
"Так про это где прочитать? Можно как-то короче написать \n",
{
"type": "code",
"text": "Navogator.pop();\nNavogator.pop();"
},
"?"
]
Roman Vasiliev
..pop() ..pop()
Roman Vasiliev
Но наверное тебе нужен popUntil
Ivan Pavlov
Ну это понятно) Я имею ввиду может есть более "правильный" и надёжный способ когда по нажатию кнопки нужно вернуться на два экрана назад
Dmitry
спасибо) пользовался этим? там все норм? или форкать придется?
Pavel Vasilenko
Там поддержка только андройда
Alex Kharechko
думал ты и расскажешь)
Alex Kharechko
айос во втрой либе
Alex Kharechko
как сделать чтобы при открытии страницы в TextField мигал курсор и приэтом клавиатура не выехала?
Семён undefined
как на флаттере сделать подобную функцию, которую добавляют в приложения на электроне?
Дмитрий Щербаков
я подрубал, все работает норм
Дмитрий Щербаков
без всяких вебвью)
Dmitry
я ща example запускал) вроде норм все а как там с google pay и apple pay? пробовал?
Dmitry
подтянет он мои карты, которые в google pay есть?
Дмитрий Щербаков
тоже все работает( гугл пей) яблока нет у меня потестить
Maks Kravchenko
storybook криво рендерил story нужно было обернуть storyContent в Container все работает, спасибо ??
Пашка
как называется анимация что то типо выпадения сверху вниз?
Dmitry
есть разница между импортами своего кода через package:asdf/bla/bla.dart или ../bla/bla.dart?
Dmitry
всмысле относительный путь, либо package
Дмитрий Щербаков
относительный смотрится приятнее) разницы нет
Alex Kharechko
но надо ручками писать) code прделагает с package а я ленивый
Дмитрий Щербаков
зато визуально системные импорты и твои отличаются)
Пашка
открою плагин fix Imports
Alex Kharechko
cmd+shift+o и пофиг
Dmitry
хмм ну в этом есть смысл
Дмитрий Щербаков
на вкус и цвет короче) ну или там какие гайдлайны у вас в конторе
Alex Kharechko
не найду дай сслку
Пашка
[
{
"type": "link",
"text": "https://github.com/luanpotter/vscode-dart-import"
}
]
Alex Kharechko
он у меня есть только я не пойму что он даёт
Alex Kharechko
в общем всё равно надо ручками с ним по каждому импорту
Sergey Hottabych
Dio Retrofit можно ли настроить, чтобы принимал разный респонс в зависимости от статускода сервера (или в зависимости от содержимого)?
?
С каких пор Dart не знает про dart:mirrors?
Roman Vasiliev
Не Flutter случаем?
Roman Vasiliev
с того и не знает)
Roman Vasiliev
Не нужон нам ваша рефлексия во флаттере
Alexander
всем привет, вопрос к пользователя idea - пропала подсветка утаревших пакетах в pubspec - куда копать?
oc1 kent
Парни нужно за небольшое вознаграждение (потому что у меня нет ни знаний ни сил). Сделать прием сообщений по websocket, сообщения проверять в моделях которые парсятся через REST API HTTP. Обновлять через provider state где это требуется, кто готов сделать? пишите в лс
Angry TaigaFox
[
"Такое юзаю в проде, полёт нормальный ",
{
"type": "link",
"text": "https://pub.dev/packages/yandex_checkout_flutter"
},
""
]
Ivan Pavlov
[
"Кто подскажет по SQLite? Возможно ли вывести сразу вложенные массив в ",
{
"type": "code",
"text": "Map "
},
"?\nЕсть две таблицы и во второй существует Foreign Key ссылающийся на первую. Нужно получить сразу список объектов (вместо типичного ",
{
"type": "code",
"text": "int"
},
" или ",
{
"type": "code",
"text": "String"
},
" из второй таблицы внутри одной ",
{
"type": "code",
"text": "Map"
},
") \nК примеру,\n",
{
"type": "code",
"text": "[\n {id: 1, name: Paul, surname: Muller, child: [ {id: 1, name: Paul, surname: Muller}, {id: 1, name: Paul, surname: Muller} ]},\n {id: 1, name: Paul, surname: Muller, child: [ {id: 1, name: Paul, surname: Muller}, {id: 1, name: Paul, surname: Muller} ]}\n]"
},
""
]
Nikita Kanunov
Здравствуйте, изучаю flutter. Есть вопрос: если делать проект в одиночку, насколько нужно задумываться над backend-ом? Или подойдут технологии типа firebase?
Alexander PhatoM
может кто посоветовать, что юзать для кэширования всех запросов на сервер?
Alexander PhatoM
смотря что за проект...
Alexander PhatoM
тебе нужно просто понять, хватит ли тебе того, что предлагает fb или ему подобные
Alexander PhatoM
не на бэке, а на фронте, например какие либо файлы... Чтобы не скачивать одно и то же много раз
Alexander PhatoM
чел, я знаю как это работает) Я интересуюсь есть ли готовые хорошие либы
Alexander PhatoM
чтобы самому не писать это всё
Nikita Kanunov
Хочу для развития изучить backend технологию, но не знаю какую выбрать
Александр
обновил firebase теперь не работает streambuilder
Александр
Class 'DocumentSnapshot' has no instance method '[]'. Receiver: Instance of 'DocumentSnapshot' Tried calling: []("imgUrl")
Alexander PhatoM
ну на этом мои полномочия всё... Я бэком не занимался
Дмитрий Костин
Тут к чему душа лежит, от пхп до ноды или го или дарт, для бэка полно всего
Александр
Class 'DocumentSnapshot' has no instance method 'call'. Receiver: Instance of 'DocumentSnapshot' Tried calling: call()
Александр
ну вот мой стримбилдер
Александр
StreamBuilder( stream: FirebaseFirestore.instance .collection('masters') .doc(curUsr) .snapshots(),
Александр
все вроде поменял
Nikita Kanunov
Дело в том, что душа ко всему лежит)
Александр
это так смотерть if(snapshot.hasError){ print(snapshot.error); }
Александр
ну ничего не пишет. значит нет ошибки?
Александр
это про что? извиняюсь
Дмитрий Щербаков
Делай на Rust ;)
Dmitriy Anokhin
лучший веб сервер)
Дмитрий Костин
Вот и выбери одно и изучай. Сколько людей столько и мнений, кто-то топит за пхп, кто то говорит лучше го нет ничего :) мне пхп за глаза.
Nikita Kanunov
Так и поступлю)
Kirill Aparin
Как сделать чтобы при появлении клавиатуры, экран уменьшался и все объекты сдвигались
Nikita Kanunov
Есть у меня выбор из django и asp net core. Вот думаю)
Дмитрий Костин
Знакомый выбрал рельсы и довольный как слон
Александр
[
"ну вот так тоже самое var dataD = ",
{
"type": "link",
"text": "snapshot.data"
},
"();\n var data1 = dataD['imgUrl'];"
]
Александр
а что такое docref?
Александр
ну та же ошибка
Александр
Class 'DocumentSnapshot' has no instance method 'call'. Receiver: Instance of 'DocumentSnapshot' Tried calling: call()
Александр
это что мне с этим денлать ?
Kirill Aparin
[
"Сделал вот экран\n",
{
"type": "pre",
"text": "Scaffold(\n resizeToAvoidBottomInset: true,\n appBar: AppBar(\n ...),\n bottomNavigationBar: BottomAppBar(\n ...\n ),)\n\n\n",
"language": ""
},
"Как сделать, чтобы при открытии клавиатуры BottomBar поднимался?"
]
Eugene Kostyuk
Привет! Подскажите пожалуйста, как правильно. У меня на page - stateful есть поле объект pageState с разными полями, которые я меняю в setState что бы перерисовать список, сортировать его и тп. После каждого setState мне нужно делать запрос в bloc и это было бы круто делать где-то вроде onStateChanged(), но такого метода в жизненном цикле нет. Как это правильно провернуть?
Kirill Aparin
[
"Посмотри\n",
{
"type": "link",
"text": "https://stackoverflow.com/questions/57024903/can-blocbuilder-of-flutter-bloc-avoid-rebuild-part-of-widget-which-not-changing"
},
""
]
|