Программирование : Dart & Flutter по-русски
Паша
У меня гайд мартовский))
Aleksander Barsukov
[
"Привет всем. \nfinal flatData = ",
{
"type": "link",
"text": "snapshot.data.docs"
},
";\nList messageWidgets = [];\n\nfor (var message in flatData) {\n final freeBeds = ",
{
"type": "link",
"text": "message.data"
},
"['freeBeds'];\n\nРаньше это работало, сейчас вылазит ошибка, мол, \n\nError: The operator '[]' isn't defined for the class 'Map Function()'.\n\nэто Cloud Firestore, если что. Подскажите, что делать, пожалуйста"
]
Andrew Ka
[
{
"type": "link",
"text": "https://youtu.be/pZE6iNzY5Q0"
}
]
Пашка
[
{
"type": "link",
"text": "https://firebase.flutter.dev/docs/overview"
}
]
Dmytrij Okladnoj
??Привет люди!!!) Подскажите есть ли способ узнать все координаты границы виджета? Имеется в виду любого виджета, вне зависимости от формы. Пойдут относительное координаты которые в ЛейаутБилдере легко получить.
Sergey Lavinov
После того как виджет нарисован, можно через контекст получить его RenderBox и у него забрать все что нужно: глобальные и относительные координаты, размер и тд
Dmytrij Okladnoj
А если он находится под трансформацией или ещё каким то украшениями границ своих... Что тогда делать? Интуитивно ясно что раз он отрисовывается то система получает область его координат... Но как их вынуть и откуда?
Sergey Lavinov
Не очень понял, отрендеренный виджет остаётся отрендеренным виджетом с координатой и размером) На счёт трансформов вопрос хороший, не готов ответить Пробуй взять рендер бокс и экспериментировать, то он отдает, или нет, а если не то, как можно привести к тому что нужно)
Dmytrij Okladnoj
Я когда получу эту отрисованную область (которая будет границей виджета) я буду её динамически менять этими точками, для эффекта жидкости.
Dmytrij Okladnoj
Виджет может быть любой... Мне просто нужно ухватиться за его края.
Stepan
Мб создать переменную, в которой хранится цвет для всех кнопок, потом создать функцию, в которую передаешь элемент, который нажал, в ней через сэт стэйт меняешь уже цвета. То есть будет что то типо Color allButtonsColor, currentButtonColor
Andrey Novatovski
уже так и сделал
Andrey Novatovski
а можно как-то виджету присвоить номера? в key
Andrey Novatovski
по клику хочу просто понимать какой виджет выбран из List
Almas Tanayev
Ну индекс же есть
Andrey Novatovski
в Row children есть индекс?
Almas Tanayev
Зачем усложнять?
Andrey Novatovski
я не хочу выносить в отдельный лист
Roman Vasiliev
Что-то ты усложняешь
4??uzhoy .
[
{
"type": "link",
"text": "https://api.flutter.dev/flutter/material/ToggleButtons-class.html"
}
]
Dmytrij Okladnoj
[
"Вот что хочу сделать \n",
{
"type": "link",
"text": "https://nisnom.com/veb-razrabotki/liquid-button-ochen-strannyj-hover-effekt-zhidkaya-knopka/"
},
""
]
Урусай
Народ, а во флаттере нету indexedMapа какого нибудь?
Sergiy Nevedomyy
CustomClipper, полигон...в этом направлении
tdesc
заведи себе свой индекс и живи с ним
Yerassyl Maikhanov
а в чем вопрос то? что не можете сделать
Kirill Aparin
Она же написала, "как пользоваться микрофоном"
Yerassyl Maikhanov
в либе которую используете посмотреть надо example app
Yerassyl Maikhanov
у них еще ссылочка на github должна быть
tdesc
там есть пример в плагине
tdesc
что то он умеет уже
Дмитрий Щербаков
Назначай GlobalKey равный какому то id данных который этот виджет представляет (вероятно там есть какой то уник идентиыикато?)
les forest
Listbuilder и оберни каждый айтем в inkwell
Урусай
А это нормально что FutureBuilder повторно дёргает уже выполненную Future при обновлении состояния?
Andrey Novatovski
как можно обновлять ui кроме block, rxdart?
Andrey Novatovski
что вообще топ
4nk1r
[
"Не подскажите, есть ли полноценные русскоязычные уроки по флаттеру для полных нулей? Только сегодня начал ковырять этот фреймворк, и после андроида ну прямо очень многое непонятно. И если для нулей в андроиде есть, например, ",
{
"type": "link",
"text": "startandroid.ru"
},
" или ",
{
"type": "link",
"text": "fandroid.info"
},
", то для флаттера я подобного не нашел...\n\nЗаранее спасибо!"
]
Урусай
Официальная документация
Daniil Kolyasnikov
SetState mobx valueNotifier
Andrey Novatovski
а провайдер стоит?
Урусай
Да ладно? А куда ты хочешь двигаться без знаний технического английского?
Daniil Kolyasnikov
Холиварная тема , всем нравится разное
Daniil Kolyasnikov
*тупая шутка* стоит, как у молодого
4nk1r
Справедливо) Но на русском (пока) понятнее в силу возраста. Так на русском нету?
Daniil Kolyasnikov
Есть платные курсы и этот чат на русском
4??uzhoy .
[
{
"type": "link",
"text": "https://flutter.su/"
}
]
Daniil Kolyasnikov
Можешь к кому то в ученики напроситься
4nk1r
Да ну) буду еще компоссировать мозги кому то. Благодарю всех)
Daniil Kolyasnikov
Andrew ka видосы пишет
Илья Цымбалюк
Господа, как я могу обновиться состояние компонента? Я из компонента вызываю class Example и в нем происходит разного вида магия и вызов модального окна, на вход он принимает context, но когда я в модалке что-то делаю, состояние сохраняется но не перерендеривается, это можно как-то решить? Внутри класса я не могу вызвать setState так как там его нет, а как можно сделать по другому?
Урусай
Тебе из модалки нужно обновить состояние того, кто вызвал модалку?
Илья Цымбалюк
нет мне нужно обновить саму модалку
Урусай
Модалка всего лишь рисует виджет. Вот и обновляй стейт внутри того, что нарисовал
BORSHEVIK
Всем привет. Кто знает, как сделать такие табы? Пытался кастомайзить TabBar, но, как я понял, там всё глухо
BORSHEVIK
Чтобы была динамическая ширина для каждого таба
BORSHEVIK
и высоту задать
Sergiy Nevedomyy
Обверни в контейнер...bottom border итд
Sergiy Nevedomyy
Отступы через паддинг
Andrey Novatovski
не могу найти реализацию textField вместе со streams, у кого-то есть норм решения?
Sergiy Nevedomyy
TabBar(...tabs: List.generate(...Container итд
Илья Максименко
Та и по хорошему startandroid очень устаревший курс, там тоже без англ никак
4nk1r
Стартандроид устарел если Вы собираетесь телеграм копировать. А для полных нулей будет хорошим стартом
4nk1r
Но это тема для долгого обсуждения
Илья Максименко
Я случайно начал учить по нему паттерны A/B/C когда они уже не использовались лет 10. Вовремя остановился
Илья Максименко
[
"И такого там куча, поэтому нужно актуальное искать на ",
{
"type": "link",
"text": "developers.android.com"
},
""
]
Yerassyl Maikhanov
как называется анимация когда изображение влетает на своё место. Т.е. сначала картинка была весь экран а потом он уменьшается и становится на своё место
Yerassyl Maikhanov
как в меню у телефона
Yerassyl Maikhanov
когда на приложение тыкаешь
tdesc
гугл транслейт по доке справляется я думаю нормально для понимания
Yerassyl Maikhanov
и потом закрываешь
Илья Максименко
Наверно scale
4nk1r
Переводчиком я перестал пользоваться когда он у меня начал код переводить на русский ?? поэтому уж лучше со своим корявым английским. Спасибо за помощь)
Yerassyl Maikhanov
точно,
Yerassyl Maikhanov
спасибо
Илья Максименко
по описанию завис
Andrew Ka
[
{
"type": "link",
"text": "https://github.com/flutter/flutter/issues/11426#issuecomment-414047398"
}
]
Andrew Ka
Смотрите мой плей-лист. Первые 100 трансляций ??
4nk1r
А не дадите ссылочку?)
Andrew Ka
[
{
"type": "link",
"text": "https://www.youtube.com/playlist?list=PLMAOL6NXxmsgTUrZE4Y9xhIxzDA46X1lc"
}
]
BORSHEVIK
Народ, подскажите пожалуйста, как нормально ловить эксепшены флаттера. Ошибки на Экране телефона вообще не информативны. Как нормальный стектрейс или что-то подобное получить?
BORSHEVIK
просто даже не говорит какая строка в коде, а если и указывает на строку, то обычно в самом классе флаттера, а не на код
BORSHEVIK
Я из андроид студии работую, чёт не видел стектрейса
Roman Vasiliev
Возможно вкладку не ту выбрал)
Andrew Ka
flutter catch(error, stackTrace)
BORSHEVIK
Если я правильно понимаю, то это просто try/catch блок, а это не то, мне нужно, чтобы на любую ошибку стектрейс показывало, я же не буду весь код оборачивать в блок try/catch
Ivan
Ну тебе нужен сингл чайлд для этого
Урусай
Ему нужен SliverList
Andrew Ka
[
"floatHeaderSlivers ",
{
"type": "link",
"text": "https://github.com/comerc/minsk8/blob/master/lib/widgets/showcase/showcase.dart"
}
]
????? ILyos >
Общая ветка и так в ней
Roman Vasiliev
NestedScrollView
DVS (Read The F.ng Manual) Studio (NoHello)
впихнуть первым элементом в листвью
Ivan
а чтобы прямо прокручивалась, можешь обернуть в еще один листвью, только не забудь прописать в твоем listview.builder shrinkwrap true и physics: noscrollableчтототам true))
DVS (Read The F.ng Manual) Studio (NoHello)
*NeverScrollableScrollPhysics() ))
Никита
а где можно посмотреть все иконки что есть? как они выглядят и их название?
????? ILyos >
обернуть верную часть или общию?
Ivan
[
{
"type": "link",
"text": "https://material-ui.com/components/material-icons/"
}
]
Ivan
может и есть небольшие отличия во флаттере, но мне не попадались
Elena
[
{
"type": "link",
"text": "https://www.materialpalette.com/icons"
}
]
????? ILyos >
[
{
"type": "link",
"text": "https://gist.github.com/hacker-uz/13cd562cccef65d216f3a0dc029c1f92"
},
" вреде сделал как ты сказал но не помогло??"
]
????? ILyos >
закоментирован
????? ILyos >
все спасибо решил проблему????
????? ILyos >
да, height убрал
Ivan
контейнер там тоже вроде не нужен)
Дмитрий Щербаков
bloc+equatable + rxdart для сложных случаев) если приложуха в 3-4 экрана можно тупо на провайдере
Ivan
мой рекорд 38 экранов на провайдере... но чуть не помер
Ivan
ну я stacked использовал, там чуть полегче было)
Yerassyl Maikhanov
40 экранов на провайдере, вроде норм. Вы на одну форму вешали несколько вью-моделей или как?
Ivan
не я писал 1 экран 1 модель, НО
Ivan
когда надо было что-то куда-то передавать начинался трэш)
Ivan
между моделями я имею ввиду
Yerassyl Maikhanov
я как делал. есть главная вью-модель на ветку, и есть под вью-модели для поведения и счета на разных экранах + функции по обновлению и тд
Yerassyl Maikhanov
в главной хранилась сущность и crud функции
Ivan
дада, я на 3 уровне сдался и сделал и файл на 3к строк
Yerassyl Maikhanov
НО, я работал не один а с командой
Yerassyl Maikhanov
и мы делали разные части приложения
Дмитрий Щербаков
Например есть каталог, корзина и страница товара. При логине пользователя цены одни, если не автортзован то другие) сколько бойлейрплейта и боли будет при использовании provider , учитывая что пользователя могут "разлогинить " с сервера?
Yerassyl Maikhanov
в своем большинстве в приложении страницы не такие сложные, bloc перебор в данном случае. а при разлогине с сервера в приложении отругивается и выкидывает
Yerassyl Maikhanov
для этого использую Get
Yerassyl Maikhanov
в итоге у меня Get + Provider выходит
Yerassyl Maikhanov
Есть ли способ задать duration на Navigator.push ?
Никита
[
"мне подсказали такое \n",
{
"type": "pre",
"text": " Future.delayed(Duration(seconds: 10)).then((_) {\n Navigator.of(context).push(_createRoute());\n });",
"language": ""
},
""
]
Yerassyl Maikhanov
спасибо
Yerassyl Maikhanov
нет это не так как нужно работает
Ivan
извините, но на первый взгляд отличный кейс для применения провайдера) правда бэк тоже нужно смотреть
Ivan
тогда опиши конкретнее что нужно
Yerassyl Maikhanov
чтобы именно сам переход длился 600 мс
Ivan
а что должен видеть юзер эти 600 мс
Yerassyl Maikhanov
то как идёт переход
Roman Vasiliev
Это в роуте делается
Roman Vasiliev
Посмотри исходники их
Roman Vasiliev
Но это игрушка дьявола, сразу говорю
Ivan
задача не поставлена - будут проблемы ))
Andrey Novatovski
как еще раз называется штука, которая контролирует количество обновлений при наборе текста в textField?
Andrey Novatovski
чтобы не посылать обновление на сервер при каждом изменении
German Fajardo Sanchez
[
"Только что загрузил, очень надеюсь, что вам понравится\n",
{
"type": "link",
"text": "https://youtu.be/qnsfw8sJBA0"
},
""
]
Serg Bell
например: TextField + controller: locationController + сам он: TextEditingController locationController = TextEditingController(); а потом locationController.text = твой forrmatedAddress; в функции, что с мапы точку берёт: String formattedAddress = '${placemark.locality}
Виталий Емельянов
А есть git чисто посмотреть как реализовывал ?
Виталий Емельянов
Увидел в описании к видео )
IB Akhrorov
Здравствуйте Что можно использовать вместо firebase?)
Виталий Емельянов
[
{
"type": "link",
"text": "https://pub.dev/packages/sqflite"
}
]
IB Akhrorov
Там бесплатно?
Gorohov Valeriy
[
"Есть возможность в dio сформировать GET запрос вида ",
{
"type": "code",
"text": "...&foo=1&foo=2&foo3..."
},
"?"
]
Paul
Всем привет как можно сделать список с ленивой загрузкой и группировкой по дате? нашёл виджеты только по отдельности grouped_list lazy_load_scrollview как можно их обєеденить?
Serg Bell
ListView через .builder
Serg Bell
по дефолту грузит только то, что отрисованно на экране
Serg Bell
не понял, что имеешь в виду - итемы подгружаются по мере отрисовки на экране
Serg Bell
генерится на лету
Serg Bell
+ dispose ушедших из вьюшки
Eldar
Мужики как получить тайм зону девайса в циферном виде ? "+03:00" епт
vasilich
[
{
"type": "link",
"text": "DateTime.now"
},
"().",
{
"type": "bold",
"text": "timeZoneOffset"
}
]
vasilich
[
{
"type": "link",
"text": "https://tppr.me/2txrD"
}
]
Eldar
Подскажите метод для разбития строки на подстроки через сепараторы
Serg Bell
эта тулза удобнее дефолтного скринкапчура?.
vasilich
Зависит от целей)
vasilich
Если поделиться скрином пошурику стрелочек напихать, то-се - то мне удобнее
Serg Bell
ага, признателен, попробую поюзать
Eldar
[
"Мужики покритикуйте ? ",
{
"type": "hashtag",
"text": "#как"
},
" получить тайм зону часовой пояс девайса устройства"
]
Eldar
flutter: -01:00 flutter: +00:00 flutter: +05:30
Yerassyl Maikhanov
[
{
"type": "link",
"text": "https://pub.dev/packages/timezone"
}
]
Yerassyl Maikhanov
это велосипед, бери и не пиши свой)
Eldar
а локацию он сам умеет определять? в доках ему нужно геолокацию давать.
Yerassyl Maikhanov
[
{
"type": "pre",
"text": "void main() {\n tz.initializeTimeZones();\n var locations = tz.timeZoneDatabase.locations;\n print(locations.length); // => 429\n print(locations.keys);\n}",
"language": ""
}
]
Yerassyl Maikhanov
покажет все доступные локации
Yerassyl Maikhanov
надо давать ему локацию
Eldar
да пользователям это не особо понравится
Yerassyl Maikhanov
он вроде смотрит на твою системную и от нее шагает в другие
Eldar
[
{
"type": "link",
"text": "https://github.com/srawlins/timezone/issues/50"
}
]
Artem Tkachenko
[
{
"type": "mention",
"text": "@eldar_kk"
},
" в чем задача? получить локальную тайм зону и вывести в формате HH:mm?"
]
|