Программирование : Dart & Flutter по-русски
Alexandr Drobyshev
что не так?
Alexandr Drobyshev
тут где то написано противоречие моим словам?)
Shokhboz Abdullayev
brand new не значит что перерисовка?
Alexandr Drobyshev
вы читали что я напсал?
Alexandr Drobyshev
если ваш виджет UserScope примет child: Container()
Alexandr Drobyshev
то контейнер же не перерисует
Shokhboz Abdullayev
Изначально Речь был о data-flow/state-control. Я соответственно имею ввиду что перерисует когда либо data изменится.
Alexandr Drobyshev
ну извинте я не читал) я зашел за своим вопросом и увидел о том что инхзерит всегда перерисует)
Shokhboz Abdullayev
Бывает)
Kerim
Всем привет, ищу стажировку по Flutter
Shokhboz Abdullayev
Нет проблем я тоже имел ввиду это но второй часть касательно изменения
Shokhboz Abdullayev
незачто
R2R
ребята, подскажите, пожалуйста, по блоку - я пытаюсь реализовать BottomNavigationBar с помощью bloc, ивенты, стейты да и самоу логику блока, как мне кажется, я сделал верно, а вот как это в ui все правильно засунуть, можете разъяснить?
d
А в чем вообще тут идея блок юзать? Не слишком ли оверхедно все это вместо просто StatefulWidget?
Шахзод Джураев
А зачем вообще вы блок завели?)
Шахзод Джураев
Посмотрите как это делается с табом например
R2R
да скорее просто ради упражнения, на простом примере так сказать)
Шахзод Джураев
Посмотрите в документации блока что такое blocbuilder
Шахзод Джураев
Как ивенты передавать в блок
Alexandr Drobyshev
а еще стейты и евенты делать нужно иммутабельными, ибо следующее во что упретесь что бильдер не бильдит ничего, потому что вы меняете по ссылке данные а не создаете новый объект
Alexandr Drobyshev
ой погарячился) вы создаете) ну все равно надо делать енмутабельными, а то когда то забудите и измените внутри стейта)
Vladimir ?
Всем привет. Пытаюсь выпустить приложение под Android, выпускаю, но получаю сообщение что приложение идёт как от "не проверенного разработчика", при этом через keytool сертификат я генерировал и в путях в проекте прописывал. В чём может быть проблема? Этот сертификат ведь должен лежать отдельно на пк, не в самом приложении?
Yakov K.
FocusNode для этого
Alexandr Drobyshev
угу, спс)
Kirill Bubochkin
могу помочь, пишите в личку
Ilya Platonov
Ребят, подскажите, как задать контейнеру ширину согласно контенту
Ilya Platonov
в web есть width: max-content, есть аналог во flutter?
Ruslan Vafin
Если ты про картинки то юзай параметр fit и BoxFit
Ilya Platonov
Нет, про виджет с любым наполнением
?? ??
[
"сертификат лежит в папке андроида, пути прописываются в сборке режима release в ",
{
"type": "link",
"text": "gradle.properties"
},
" и build.gradle"
]
?? ??
по крайней мере это работало в RN
Ruslan Vafin
Помести виджет в контейнер и вызови параметр constraints, а там уже BoxConstraints(minWidth:100, maxWidth:200) например.
Dmitry Demchenko
многие виджеты типа Column, Row, Center и так будут брать максимально доступный размер (или указан через MainAxisSize) в большинстве случаев сработает Center/Align или же SizedBox.expand
Ilya Platonov
Гляну, спасибо
Урусай
[
{
"type": "link",
"text": "https://habr.com/ru/post/500210/"
}
]
?? ??
Есть какой-то гайд для глупеньких, как сделать обычный гет-запрос и положить результат в экземпляр класса?
Ivan
[
{
"type": "link",
"text": "https://flutter.dev/docs/cookbook/networking/fetch-data"
}
]
Ilya
Был уже один такой, решил что он может мне пихнуть эстимейт в три часа на адаптив картинки, а я схаваю. Одной картинки, Карл
Dima Kotlyarov
по хорошему - адаптив картинки - эстимейт час
Ilya
Картинка уже была на страничке, ему нужно было прописать адаптивную ширину и высоту в свойствах
Dima Kotlyarov
ну давай так) я не синьер! НО я работаю с синьерами и они рассаждуют так же как и я - что по хорошему - код написать это 5 минут
Dima Kotlyarov
НО! он синьер и его код должен работать всегда и везде! значит - пока проверит (даже если проверять нечего) пока запушит , пока таски в джире поменет) вот и час выходит)
John Travolta
да разные проекты бывают я не так давно тоже часа три в своем же проекте пробовал и думал как сделать адаптив под один блок, не буду рассказывать подробности, там сложно все вызывается, одно другое цепляет, вот несколько часов и ушло, пока не допер как сделать, хотя задача выглядит элементарно может он там так и заложил на всякий случай
Dima Kotlyarov
так что тасок меньше чем на час не бывает)
Ilya
Да мы с ним код разбирали, мне было интересно как так. Сам я тоже верстал чуток и это совсем элементарная фигня. Чудик мне напридумывал всякого, мол так и сяк делал, а там просто wh стоит
Ilya
Я ему говорю мол процент пихни
Dima Kotlyarov
ладно! мы поняли о чем ты но надеюсь ты тоже онял о чем мы))))
Dima Kotlyarov
ага) wh дурацкая идея
Ilya
Он пихает - ничего не меняется (хотя должно было)
Ilya
После этого тотальный игнор от него
Dima Kotlyarov
п пиздабол
Dima Kotlyarov
ты хотел сказать
?? ??
Так вот как это называется. Эстимейт.
?? ??
Никогда не умел оценивать время сам(
Alexey Z
Лучше поставить час и сделать за 5 минут чем поставить 5 минут и проипать срок )))
Dima Kotlyarov
прогноз разраба по времени которое он потратит на ту или ииную задачу
Dima Kotlyarov
тогда лучше 2)
Ilya
Он поставил час и делал три))
?? ??
Читал на хабре статью, что закладывать это время должен не разраб, а старший по званию. Ересь?
?? ??
Хотя вы тут про сеньора, другой случай конечно
Alexey Z
Сеньёры часто оциневают если нет лида
Alexey Z
Одно строчку в верстке?
?? ??
Сталкивался с тем, как разраб до меня специально замедлял скрипты, чтобы уходить курить, пока он выполняется и ничего не делать
John Travolta
вообще, при эффективной работе команды, оценивает вся команда и берется среднее арифметическое с коррекцией от лида + потом еще менеджер закладывает процентов 20
?? ??
У нас не было айти отдела как такового, каждый менеджер в цепочке накидывал пару часов, до клиента иногда доходили сутки...
Alexey Z
Это в нормальной команде ))
Alexey Z
Ммм... значит нехватает мотивации ))
Гува
Ребят помогите пж с сериализацией, Json отображение данных, я сам новичок пока с работой сетью, у меня просто не выгружается список офисов и я не знаю в чём может быть проблема, документацию читал тоже вроде всё ок
Гува
Была ли у кого то так ?
Алексей Александрович
[
{
"type": "link",
"text": "https://marketplace.visualstudio.com/items?itemName=BendixMa.dart-data-class-generator"
}
]
Алексей Александрович
гляньте сюда
Алексей Александрович
скармливаете этой штуке JSON, она генерит модельку, потом парсите ответ запроса моделькой, и радуетесь жизни
SlavikG
Скинь ссылку по которой берёшь json
Гува
[
{
"type": "link",
"text": "https://about.google/static/data/locations.json"
}
]
Алексей Александрович
показывай, как сделал
Гува
если честно я не смог скачать это расширение в самом Андроид студио, не нашёл его и тип вот, я тип просто не могу понять в чём он error выдает, но видео курсу всё ок работает
Алексей Александрович
расширение для VS Code ???>?
Гува
лучше туда переехать ?
Алексей Александрович
кому как я на VS Code сижу студию раз в полгода открываю
Гува
На студио свои первые активити строил, как-то жалко предавать)
?? ??
скинь курс. Тоже сижу уже сто лет с сериализацией
?? ??
Не могу распарсить List. Везде читаю "не используйте Map для списков", а как правильно сделать — не пишут -_-
?? ??
как же ты мне этим жизнь спас, ты бы только знал
?? ??
наконец-то всё заработало
Алексей Александрович
перевод на тинькоф одобряется ??
?? ??
для этого нужно ещё сначала заработать на флаттере)
Гува
только одна строчка + моя рукажопость
Гува
спасибо всем кто старался помочь, закрываю все вкладки)
?? ??
Одна ссылка и сразу два счастливых человека
Гува
я залью их в диск и скину ссылку
Алексей Александрович
рассматривайте это как донат богу flutter'а на быстрое нахождение заказов ??
Jerry Yang ??
Привет, хочу пригласить программисток в IT чат для девушек
Cat-Wizard Ashere
Посмотри в сторону mediaQuery.of, там вроде можно получить pixelRatio. Условные единицы флаттера поделить на pixelRatio получишь чистые пиксели
Cat-Wizard Ashere
если я не ошибаюсь
Cat-Wizard Ashere
Ну, условные единицы, это тип
Cat-Wizard Ashere
EdgeInsets.all(8.0), где 8.0 условные единицы
Cat-Wizard Ashere
высота Контейнера или его ширина тоже использует "условные" единицы
Cat-Wizard Ashere
а, тогда умножить на пиксельРатио?
Cat-Wizard Ashere
грустно
Cat-Wizard Ashere
Ну, потому что разрешение пикселей у всех экранов разное
Cat-Wizard Ashere
Мне кажется
Cat-Wizard Ashere
Сорян, могу тупить и направлять не в ту сторону
Harley
Ребят как можно сделать область gesture detector больше??
Harley
Когда увеличиваю контейнер иконка(png) становится больше
Harley
Там не leading а один целый row
?????????????
Подскажите, вот добавил в приложение рекламу facebook ads вместо admob, скачиваю свое приложение с маркета и у меня реклама работает без тестового режима, а у других не работает, не запускается... В чем проблема
Stan
Всем привет! DraggableScrollableSheet ребилдится от каждого минимального скролла, что создает очень не плавную анимацию. Как решение предлагается переместить вызов функции build в didChangeDependencies и повторно использовать кэшированный дочерний элемент в билде. Может кто-то показать джуну краткий пример как это сделать?)
Evgenii Elchev
[
"Я тут как то спрашивал про то знаете ли вы про ключи. И вот вышел мой новый урок, где я разобрал все что относится к ключам ",
{
"type": "link",
"text": "https://youtu.be/5LW9gRDgU_4"
},
")"
]
MiT
[
{
"type": "mention",
"text": "@bunopus"
}
]
MiT
[
"Вот дока, но я что-то не нашел как это можно сделать: ",
{
"type": "link",
"text": "https://github.com/dart-lang/build/blob/master/docs/build_yaml_format.md"
},
""
]
MiT
[
"Ну и в самом freezed тоже ничего нет: ",
{
"type": "link",
"text": "https://github.com/rrousselGit/freezed/blob/master/packages/freezed/build.yaml"
},
""
]
MiT
[
{
"type": "link",
"text": "https://t.me/dartlang_jobs"
}
]
R2R
ребята, кто с flutter_contacts работал? я что-то зарылся, помогите выпутаться
R2R
я бы в личку написал и показал код
Hateful
народ, кто может объяснить а в чем суть конструкции if()...[]
Hateful
в чем отличие от обычного if(){}
Cat-Wizard Ashere
spread operator, глянь для чего нужен
Hateful
а все, понял. Спс.
Harley
ребят как изменить ракурс камеры?
Harley
я просто не знаю как это правильно называется
Семён Колесников
В картах со спутника вроде нет такой возможности
Семён Колесников
Только на схеме, насколько я знаю
BORSHEVIK
Это, вроде как, только в Google Earth реализовано, в обычных картах только влево и вправо можно крутить
Alexandr Drobyshev
[
"ну фриззед как раз ковырял на днях, он юзает source_gen \n",
{
"type": "link",
"text": "https://pub.dev/packages/source_gen"
},
""
]
Alexandr Drobyshev
это вот соурсген как раз сомтрит файл бильд, может его дока тебе поможет, я помню лишь что там выбиралось build_to: source или cache, я ставил source чтоб клало рядом, кеш я так понял он положит отдлеьно но я не проверял
Alexandr Drobyshev
When using SharedPartBuilder it should always be configured to build_to: cache (hidden files) and apply the combining_builder from this package. The combining builder reads in all the pieces written by different shared part builders and writes them to the final .g.dart output in the user's source directory. You should never use the .g.dart extension for any other Builder.
Alexandr Drobyshev
[
"это вообще чатсь ",
{
"type": "link",
"text": "https://pub.dev/packages/build_config"
},
""
]
Stan
В какой тип сливера для CustomScrollView можно запихнуть TabBarView? Пока что нашел только один - SliverFillRemaining, но он растягивает себя на всю видимую область. Остальные отдают ошибку. Про NestedScrollView знаю, не устраивает так как поведение сливеров довольно кастомное
Vladislav Rudenua
Привет, такой вопрос у меня есть повторяющиеся подряд виджеты с одинаковыми полями но разными значениями
Vladislav Rudenua
нормальная ли практика закинуть их в лист вью билдер или это лишнее
Семён Колесников
Создать отдельно виджет: Widget myWidget (параметры) => DrawerItem(тут поля для параметров); А потом, например, в column`e пишешь: myWidget(params), myWidget(params), myWidget(params), Как вариант, если их не так много
Vladislav Rudenua
я так и сделал примерно
Vladislav Rudenua
если посмотришь draweItem это мой виджет
Vladislav Rudenua
просто я думаю отрисовать их циклом типо так меньше кода будет
Vladislav Rudenua
но не знаю
Mykola Shevchenko
Подскажите пожалуйста, как подключить линтер? Я его в зависимости кидаю, но все равно не может найти
FantasyOR
кажись его нужно в экстеншенах VSCode подключать, а не в зависимости проекта
Семён Колесников
Ну, тогда да, лучше Listview`ом
Mykola Shevchenko
Вряд ли, сами analysis_options работают, оно не может просто найти файл со стандартными
FantasyOR
[
"// имеем массив объектов, которые нужно отобразить\nvar itemList = [item1. item2...]\n\n// в дерево виджетов возвращаем\nColumn[или ListView если много ] (\n children: ",
{
"type": "link",
"text": "itemList.map"
},
"((item) => DrawItem( iconInk: item.iconInk) ).toList()\n)."
]
Александр Коршак
Всем привет. Может кто подскажет решение проблемы? При билде apk через команду flutter build apk --split-per-abi с разных ПК приложение не хочет переустанавливаться. Т.е. если установить apk сбилженную с одного ПК, а потом попытаться обновить apk сбилженной с другого ПК, то пишет, что приложение не установлено. Может кто сталкивался с таким?
admin
Всем привет! Ребят подскажите пожалуйста как можно сделать такие кнопки?
Harley
Ребят почему ошибка когда использую navigator.pop(context)?
d
.pop возвращает void, а Вы присваиваете это значение переменной судя по всему
FantasyOR
[
"Container(\npadding: ...\ndecorator: ....\nchild: Row (\n mainAxis...: ... spaceBetwen, \n crossAxis...: ... center\n children: [\n Text(...),\nCircleAvater(background: isOn: ",
{
"type": "link",
"text": "Colors.green"
},
"[300]: Colors.black24)\n]\n )\n)\n\n*при разных стейтах (вкл/выкл) менять background у CircleAvater\n*цвета лучше хранить в ColorScheme, а не хардкодить, выше просто для примера\n*это псевдокод, не из рабочего примера, могут быть опечатки и точные названия полей не помню, vsCode подсказывает"
]
Harley
а как можно исправить? мне просто надо чтоб возвращался в пред страницу
d
[
"не присваивать переменным результат ",
{
"type": "code",
"text": "Navigator.pop(context)"
},
""
]
FantasyOR
случайно нажался энтер до отправки, дополнил
Алдияр Сахан
Ребят, Кто работал с Scorm?
Alex Wow
Создай один метод В котором скрыто это полотно
Alex Wow
И в метод кидай нужные параметры
Alex Wow
Да ,это условие преврати в метод
Alex Wow
У тебя будет метод с одним параметром ,который возвращает результат
Alex Wow
Или создай метод с созданием виджетов , зависящих от переданных параметров
Alex Wow
Будет одна строчка кода
Alex Wow
Да можно так Чё нет
Bolat
как убрать эту ошибку у TextField?
Tolegen Akilbekov
покажи твой инпут декорэйшен
Станислав
Добрый день. Подскажите на текущий момент на Flutter, можно сделать homescreen Widget на Android (Виджет который отображается на рабочем столе)?
?
Почему когда я передаю с сервера тип данных double, flutter иногда воспринимает КАК ЧИСЛО?
d
потому что double это число?
?
как правильно преобразовывать принятое число (будь оно int, будь double) в double тип? double.parse() выдаёт ошибку (что на входе число, а ожидается строка)
Timur M.
Наверное лучше так Double.parse(int.toString())
?
да, а если там 0 - получаю это
Timur M.
Меньше проверок делать придётся
Григорий
Ну на null в любом случае проверять надо
?
дичь какая то... неужели никто не сталкивался? Передаётся тип double, значение 0. При преобразовании в toString() - выдаёт Null, и ошибку что null - не String.
?
дак там число, с значением 0
?
а при переводе в String он выдаёт null
Григорий
А при toDouble есть ошибка?
?
вообще неадекватство какое то)
?
в double 0 быть не может? как так?
?
или я совсем не понимаю...
d
судя по всему у вас проблема с apI_token, а не с double, и судя по тексту ошибки
d
json[‘api_token’] null и вы делаете null as String, это кидает ошибку
?
да я как убираю оттуда баланс, и всё работает
d
ну прочитайте ошибку еще раз, вы кастите Null в String, учитывая то что у баланса значения числовые, и вы не кастите их в строку, получается, ошибка в другом месте
Stoner
подскажите что не так с copywith
Stoner
5 positional argument(s) expected, but 0 found. (Documentation)
|