Программирование : Dart & Flutter по-русски
Kirill
Короче, молодой фреймерк, все пишут во что горазды. ??
Mitai
Филип Храчек будет ачешуеть
Юджин Баладжахе
Это точно. Мне например синки на входе в модель категорически не нравятся, нужно классы событий определять, куча лишнего кода. А вот стрим на выходе - это великолепно. Поэтому классический блок ну никак не вытанцовывается)
Dark Drogan
Почему у вас фамилии похожи?)
Kirill
Посмотрел, выглядит классно, действительно MVVM и навигации vm to vm. Круто, почему не такой популярный?
Dark Drogan
Хотеть оффлайне
????
да, в аккаунт в тот. хорошо, спасибо подожду может и вправду дилей, а я не терпелив ))но вроде уже час прошел.
Kit Khilobok
Он просто не на слуху в Ру комьюнити
Kirill
Тогда Cubit как я понял для тебя ??
Anton Anokhin
терпеть, ждать следующего года
Anton Antokhin
хз, совпадение походу ...
Юджин Баладжахе
Да я ручками обхожусь пока, проекты маленькие.
Kit Khilobok
Сливеры для такого созданы)
Gorohov Valeriy
Час это долго, проверь почту, может из-за разрешений отклонили.
Kit Khilobok
Если юзать expanded, у родительского элемента должна быть фиксированная высота/ширина, чтобы он понимал, до куда растягиваться
Kit Khilobok
Обычно через какое-то время появляется(10-20 минут)
Alexandr Drobyshev
да я заметил, что если обернуть весь блок в sized то она работает( но это ненмого нето что я хотел)) но видимо так и будет
????
спасибо, рил письмо пришло а я чет и не заметил.
Alexandr Drobyshev
[
{
"type": "code",
"text": "AnimatedSize"
},
" почему то работает в одну стороу))"
]
Alexandr Drobyshev
[
{
"type": "code",
"text": "class StateButtonState extends State with TickerProviderStateMixin {\n @override\n Widget build(BuildContext context) {\n return AnimatedSize(\n duration: Duration(milliseconds: 200),\n vsync: this,\n curve: Curves."
},
{
"type": "italic",
"text": "easeIn"
},
{
"type": "code",
"text": ",\n child: SizedBox(\n height: 50,\n width: widget.loading ? null : double."
},
{
"type": "italic",
"text": "infinity"
},
{
"type": "code",
"text": ",\n child: RaisedButton(\n shape: new RoundedRectangleBorder(borderRadius: BorderRadius.circular(30)),\n child: widget.loading\n ? CircularProgressIndicator(backgroundColor: Theme."
},
{
"type": "italic",
"text": "of"
},
{
"type": "code",
"text": "(context).primaryColor,)\n : Text('Войти', style: TextStyle(fontSize: 18),),\n onPressed: widget.onPressed,\n ),\n ),\n );\n }\n}"
},
""
]
Alexandr Drobyshev
почему так?(
Alexey
Может тебе лучше попробовать animatedcontainer?
Alexandr Drobyshev
он вообще не работает почему то) пробовал
Alexandr Drobyshev
ошибок нет, просто резко меняет ширину и все
IB Akhrorov
Duration меняли?
Alexandr Drobyshev
Конечно, 500 стоит
Alexandr Drobyshev
ну то етсь на сиже тот же дурейшин, и тут хоть в одну сторону видно)
IB Akhrorov
Дайте 1секунду или поменяйте curve
Пашка
как можно достать стейт блока?
Anatoliy Kernokus
Какая архитектура самая популярная?
Павел Середа
херак-херак и в продакшн, очевидно же
Evgenii Elchev
клин это не рахитектура, это просто как заповедь не делай говна и будет ок)
Vladimir Ivanov
я бы назвал это architecture approach
Пашка
делай вместе с командой гавно скорее)
Evgenii Elchev
я уже говорил что в основе всех архитектур лежит один и тот же принцип
Evgenii Elchev
там частности немного меняются
Evgenii Elchev
типо где сейт хранить, как компоненты общаются
Evgenii Elchev
а так то самое важно не валить все в кучу и ты в шоколаде
Alexandr Drobyshev
вообщем AnimatedContainer работает только если цирина не нулл и не инфинити, так тчо тут надо задавать явно ширину) а вот АниматедСайз работает и с нулл и с инфините без ошибок, но в одну тсорону ток)
Kit Khilobok
в плане, в одну сторону? Ты нигде высоту не меняешь
Alexandr Drobyshev
я имею ввиду что нажал - оно резко перескочило на минимальную ширину, а когда отжалось, то плавно растягивается по ширине
Anatoliy Kernokus
Че за клин.я знаю что такое клин из разработки под Андроид. удивительно что в чате флаттере говорят что это архитектура...
Kit Khilobok
Оно не может взять значение ширины из null
Gevork Arzumanyan
мб отрабатывает build 2 раза ?
Kit Khilobok
Поэтому и перескакивает
Alexandr Drobyshev
так я уже жеска задал 60 и 300 ширину и так же все скачет
Alexandr Drobyshev
буилд отрабатывает вроде по 1 разу на изменения стейта
Kit Khilobok
А если размеры задать именно у animatedSize?
Alexandr Drobyshev
то есть сразу буилд сработал, когда отрисовало, наал кноеку - сработал буилд так как стейт лоадинг выше изменился, просшла сек, еще раз сработал буилд оптяь изменился
Alexandr Drobyshev
тогда в обе стороны резско скаачет)
Kit Khilobok
AnimatedContainer решит проблему
Kit Khilobok
Size действительно рвблтает только в одну сторону
Kit Khilobok
[
{
"type": "link",
"text": "https://stackoverflow.com/questions/59132930/flutter-animatedsize-works-in-one-direction-only"
},
" твщемта вот"
]
Пашка
подскажите как лучше сделать? есть экран, нажимаю на кнопку, в случае если авторизован то отправляет на экран данных, если не авторизован отправляет на экран авторизации. сложность в том что в билде в зависимости от стета легко дать кнопке нужный метод, а как это можно сделать без билда, определить стейт в виджете?
Alexandr Drobyshev
[
"я видел тот пост, но есл иоткрыть тут\n",
{
"type": "link",
"text": "https://api.flutter.dev/flutter/widgets/AnimatedSize-class.html"
},
"\nон тут в обе)"
]
Kit Khilobok
Ну лично я делаю глобальный стейт приложения, где хранятся данные авторизации, юзер и всё такое
Пашка
у меня есть такой виджет
Пашка
через скоп могу получить юзера
Kit Khilobok
Тогда что значит Определить стейт в виджете?
Пашка
нужно в else если пользователь не авторизован, отправить его на экран авторизации
Kit Khilobok
Ну допустим, проблема в отсутствии контекста, я так понимаю?
Пашка
могу передать конечно
Kit Khilobok
Можно сделать глобальный ключ на всё приложение и брать оттуда контекст, можно передать
Пашка
тогда мне просто нужно будет сделать проверку на user != null
Пашка
и уже от этого отправлять
Юрчик
Гайс надо помощь. У меня есть http service + dio. Отправляю запрос post и получаю файл в response. Как мне сохранить файл? Я создал List и пытался добавить байты но Response can't be Iterable. Дайте совет что делать чтобы save response
Павел Середа
Uint8 там какой-то есть
Павел Середа
UInt8List во
Kit Khilobok
[
"У тебя файл прихожит в байтах, получить ты их можешь из ",
{
"type": "link",
"text": "response.data"
},
", затем ищешь временную директорию приложения, делаешь файл и записываешь туда свои байты"
]
Kit Khilobok
лист интов легко конвертится в UInt8List
Юрчик
что делать если уже так делал и при pdf view пустая страница? пишет только Encode PNG Singlethread
Павел Середа
из-за знаковости int'а можно что-нибудь легко потерять на конвертациях
Kit Khilobok
[
{
"type": "link",
"text": "https://pastebin.com/hTz393Se"
}
]
Дмитрий Щербаков
Народ, кто сидит на хакинтоше?) можно его накатить на 1физ винт с виндой или лучше на отдельный?
Сергей
Но лучше на отдельный
Дмитрий Щербаков
с nvme дружит?
Дмитрий Щербаков
или сата только
Сергей
Я так сильно не углублялся )
Сергей
У меня на sata стоит
Дмитрий Щербаков
у меня нет сата ?? чот не подумал
Дмитрий Щербаков
opencore да лучше?
Сергей
Главное чтоб UEFI был, вместо Biosa
Сергей
БигСюр вроде сейчас только на опенкоре запускается
Дмитрий Щербаков
переехал c fx-8350 на ryzen 7 3700x. По ощущениями все билдится раза в 4 быстрее)
Alexey
если это библиотека auto_route, то там есть ExtendedNavigator.root которому контекст не нужен
Dima Kotlyarov
парни , есть задача сохранить QrImage в галлерею.
Dima Kotlyarov
не пойму как её реаализовать. зачем я правда тоже не понимаю, но это уже не столь важно))
Пашка
просто хотел узнать какие есть варианты
Kit Khilobok
Из такого, можно get подключить ещё
Alexey
getit? или что такое get?
Andrey Unger
Народ, подскажите по грядущему null-safety. Если мои классы активно юзают что их свойсва не заданы изначально, как это обыграть? Типа раньше я юзеал if(property!=null) -значит свойство задано, то как теперь?)
Evgenii Elchev
пример кейса скажи
Evgenii Elchev
я кстати врубил у себя нулсейфти, кайфую)
Alexey
[
{
"type": "link",
"text": "https://github.com/lukef/qr.flutter/issues/70"
}
]
Kit Khilobok
[
"Get это get)\n",
{
"type": "link",
"text": "https://pub.dev/packages/get"
},
""
]
Evgenii Elchev
[
"но вообще если у тебя что то может быть null, то надо просто делать его nullable, без каких то хитростей \n",
{
"type": "pre",
"text": "String? mabyNull\n\nif (mabyNull != null) {\n some(mabyNull)\n}",
"language": ""
},
""
]
Иван
Ребята, функции вызывают друг друга через промежуток времени. Как их остановить, когда делаешь Navigator.pop или сварачиваешь приложение?
Evgenii Elchev
фишка nullsafty не в том что теперь все не null, а в том что ты явно видишь где может быть null, где не может и компилятор тебя явно заставляет делать проекку на null. перед использованием. Ну и да, надо стараться писать код так, что null свойств было меньше
Andrey Unger
[
{
"type": "italic",
"text": "// Если задано минимальное ограничение\n"
},
{
"type": "code",
"text": "if (minSize != null) {\n if (newwidth < minSize.x || newheight < minSize.y) {\n newwidth = minSize.x;\n newheight = minSize.y;\n }\n}"
},
""
]
Evgenii Elchev
ну так и пиши)
Andrey Unger
[
"т.е просто в классе определяю как ",
{
"type": "code",
"text": "Vector2 maxSize;"
},
" и юзаю if(maxSize!=null) ??"
]
Evgenii Elchev
[
"как ",
{
"type": "code",
"text": "Vector2"
},
"?",
{
"type": "code",
"text": " maxSize;"
},
""
]
Andrey Unger
а если как я описал у меня ругнятся компилятор?)
Evgenii Elchev
ну ты напиши как я
Andrey Unger
не, мне просто понять что со старым кодом будет где не поправлено
Evgenii Elchev
[
"а то ты написал ",
{
"type": "code",
"text": "Vector2 maxSize;"
},
" - что значит что там не может быть null, а теперь проверяешь на null. странно да?)"
]
Evgenii Elchev
расставить модификаторы (?/!,late) там где это нужно ))) за ! - я бы конечно по рукам бил)
Andrey Unger
а конструкции типа maxSize ?? 0 по прежнему работают?
Evgenii Elchev
а что с ними случится?
Evgenii Elchev
все работает
Денис Путнов
Есть два виджета. Хочу сделать так, чтобы когда я что-то печатал в TextField текст сразу же отображался в Text. Как можно это реализовать?
Andrey Unger
контроллер добавь к TextField
Ivan
у тексфилда есть контроллер со слушателем
Денис Путнов
по моему там никак в реалтайме нельзя сделать отображение, только через setState при нажатии кнопки, например, разве нет?
Timur
Где хранится база данных? Никак не могу найти данный путь
Денис Путнов
можно чуть подробнее????
Andrey Unger
через setState по слушателю контроллера
Evgenii Elchev
или через стрим билдер)
Evgenii Elchev
как бы вариантов то масса)
Andrey Unger
судя по пути - в корне проекта scanner )
Иван
Друзья, как можно остановить функции, которые вызывают саим себя через промежуток верени, когда делаешь Navigator.pop?
Алексей Александрович
Таймауты?
Иван
делать .close() в dispose?
Timur
Путь к приложению не могу найти
Timur
Через поисковик в проводнике выдает нулевой результат
Andrew Shalaev
Подскажите, стоит ли clean архитект. во флаттере применять для приложения? Как вообще принято организовывать код ? Я нашел курс целый по clean в flutter, интересно очень
Pavel Erokhin
клин арча не существует, это все миф
Pavel Erokhin
как и женщины
Andrew Shalaev
да ну, а если серьезно? Как вы код организовываете в своих приложениях?
Павел Середа
google: flutter boilerplate github
Kirill Aparin
На новых Huawei не работают сервисы, соответственно и карты
tdesc
не надо ловить ошибку, определяйте на старте
Kirill Aparin
В этом и вопрос
tdesc
по производителю Андроид
Kirill Aparin
А что для этого нужно сделать? Команда какая-то?
Alexandr Drobyshev
У меня хуавей купленный в этом году, плейсервисы работают
Kirill Aparin
Там отличаются они ещё
Alexandr Drobyshev
У жены зонор тоже работают это от хуавей
tdesc
[
"посмотрите может похож на ваш ",
{
"type": "link",
"text": "https://stackoverflow.com/questions/1995439/get-android-phone-model-programmatically"
},
""
]
Игорь Карамышев
Здравствуйте, меня зовут Игорь. Ваша сеть магазинов может стать ещё популярнее, если правильно её подать! У вас имеется интересный аккаунт, но он может стать ещё привлекательней для клиентов, если я вам в этом помогу. Я буду выкладывать новые яркие посты, чтобы текст было легче принять. Тогда покупателям будет проще воспринять информацию о Вашей сети магазинов. Также Вам нужен новый логотип, это вызовет у покупателей доверие к вам и вашей сети. Я занимаюсь созданием и ведением Instagram-аккаунтов. Я могу поднять статистику всего за 29 дней с помощью индивидуальной методики. Я уверен, что Ваши продажи идут прекрасно, но после моей работы они будут идти ещё лучше. Я полностью возьму на себя ответственность за: - Ваши Instagram-истории - выстрою индивидуальный визуал профиля - продающие и информативные посты - ответы в директ - профессиональную обработку фотографий Я прошёл обучение по теме продвижения коммерции в соц. cетях. Тем более у меня есть опыт работы с аккаунтами по схожей тематике с вашей сетью, так что довести вас до результата не составит проблем. Так же я готов предоставить бесплатную неделю ведения аккаунта за договор на 29 дней, так как ваш продукт мне, действительно, симпатичен. Если вас всё устраивает, я готов обсудить с Вами все детали и приступить к работе.
Denis Chuvasov
Кто пользуется Android Studio для разработки? Есть ли у вас проблема с тем, что студия в упор не видит новые сгенерированные классы(например freezed) пока не сделаешь Invalidate and restart?
Denis Chuvasov
начинает подчеркивать все классы красным и ругаться "Cannot find declaration"
Pavel Erokhin
Такой проблемы не испытываю, проект надо собрать, чтобы сгенерировались классы
Pavel Erokhin
ну оно не пиздит, раз нет, значит класс не сгенерировался)
Denis Chuvasov
проект собирается нормально, просто студия типа не видит классы. Ну видимо у меня такой глюк, буду копать.
Kit Khilobok
[
{
"type": "link",
"text": "https://github.com/kauemurakami/getx_pattern"
}
]
Pavel Erokhin
сам запускай таски гена либо запускай эмулятор, сгенерит
Plan Tony
[
"Есть вариант вызова ",
{
"type": "code",
"text": "GlobalKey"
},
" в разных классах?"
]
Plan Tony
[
"Сейчас я передаю в конструктор, но может есть способ вызова ",
{
"type": "code",
"text": "GlobalKey"
},
" по ключу как-то"
]
Pavel Erokhin
Ааа, именно студия тупит?, т.е класс есть?, ну тогда баг студии, репорти им и костылями придется дальше жить
Comrade77
Это проблема анализатора, приходится перезапускать анализ
Denis Chuvasov
да, именно студия
Kit Khilobok
[
{
"type": "code",
"text": "GlobalKey"
},
" и есть ключ как бы"
]
Pavel Erokhin
Ну можно начать с нажатия на кнопку грустного смайлика, репортом и ждать фикса)
Kit Khilobok
Можно сделать его глобальным, почему нет
Plan Tony
[
"Это да, указав его в видже в 1 классе, мне нужно вызвать ",
{
"type": "code",
"text": "GlobalKey"
},
" в другом"
]
Plan Tony
проосто вынести за класс?
Kit Khilobok
Указывать в глобальной области видимости, те вне классов
Plan Tony
тогда ошибка при компиляции и черный экран
Kit Khilobok
Смею с вами не согласиться
Plan Tony
при запуске проблем нет?
Kit Khilobok
А какие могут быть проблемы?
Kit Khilobok
Эта это какая
Plan Tony
сейчас скину скрин
Plan Tony
я кстати тоже использую для нав бара
Plan Tony
но что такое BottomBarState?
Kit Khilobok
Стейт виджета боттомбара
Plan Tony
это после логина я захожу на ботом бар
Plan Tony
верней на экран где юзается ботом
Kit Khilobok
Ну таки нельзя, чтобы два виджета использовали один кюч
Plan Tony
у меня один юзает
Kit Khilobok
Вроде. всё логично и понятно написано
Plan Tony
такая ошибка только после перехода на этот экран
Plan Tony
если я в мейне сразу указываю этот класс, ошибки и черного экрана нет
Plan Tony
так-же помогает если сделать глобал кейл локально
Kit Khilobok
У тебя боттомбар один, или на каждый экран разный?
Kit Khilobok
На все экраны
Plan Tony
верней сам боттом один
Plan Tony
но с нескольками айтемами
Kit Khilobok
Объявлен он в одном экране только, верно?
Renat Ganiev
Всем привет! Кто то уже обновлялся на Big Sur? У меня после обновления flutter doctor начал выдавать ошибку - CocoaPods installed but not working. Я уже запускал обновлени xcode-select--install, так же пробовал: sudo gem install cocoapods. Но какие то ошибки. Я вообще не селен в этих настройках под XCode, что ему надо не понятно. ПРи этом проект под ios перестал собираться ??
|