Программирование : Dart & Flutter по-русски
Артём Ефименко
Всё зависит от твоих потребностей
Артём Ефименко
Ну gesture detector ты можешь навязать на любой виджет, какой ты только сделаешь, ну а кнопка это кнопка, которую ты сильно не сможешь закастомить так скажем. А вдруг тебе нужно чтобы по нажатии на какую нить плашку с информацией о каком то событии, допустим футбольная игра, надо перейти на другой экран с подробной информацией об игре, легче будет делать с ним
Ефим Иванов
Всем привет, подскажите каким образом лучше соотносить размеры из фигмы в размеры под флаттер?
Abdullajon
Привет, у меня есть вопрос об обнаружении цвета камерой в реальном времени при флаттере. как выбрать (определить) цвет в центре камеры, не фотографируйте. У вас есть пример для этого?
Kirill Aparin
Хороший вопрос, только что ставил вместо него кнопку, когда у тебя есть элементы, например row, то gesture detector работает только на объекты, а пространство между ними не замечает, а кнопка на пространство тоже реагирует
Kirill Aparin
А также elevationи всякие splash эфекты
Kirill Aparin
Короче зависит от обстоятельств
Alexey
Такой же смысл как и во всех остальных виджетах. Просто привносят что-то новое, чтобы код не повторялся.
Никита
Понял, спасибо большое.
Никита
Еще вопрос.. Я создал файл. В нем прописал шаблон кнопки. В эту кнопку хочу передать текст (название кнопки) Для этого создал переменную, вставил ее в как аргумент. В другом файле делаю вызов и пишу название кнопку. Но передает null И ошибок нет, не пойму в чем дело. ((
Никита
[
{
"type": "pre",
"text": "Widget buttons(name) {\n String name;\n\n return Container(\n width: 300,\n height: 50,\n alignment: Alignment.center,\n decoration: BoxDecoration(\n borderRadius: BorderRadius.circular(25),\n gradient: LinearGradient(\n begin: Alignment.topCenter,\n end: Alignment.bottomCenter,\n colors: [\n GradientColors.likeRed,\n GradientColors.likePurple,\n ],\n ),\n ),\n child: Text(\n name.toString(),\n style: TextStyle(\n color: Colors.white, fontSize: 20, fontWeight: FontWeight.w500),\n ),\n );\n}",
"language": ""
},
"\nВызов\n",
{
"type": "pre",
"text": "buttons('Включить камеру')",
"language": ""
},
""
]
Alexey
ты затеняешь своим String name переданный аргумент
Alexey
А он иницализируется как null
Никита
просто убрал и все заработало))
Vyacheslav
[
"народ привет, я обычно пишу так \n",
{
"type": "pre",
"text": " List > listOfLists = [];",
"language": ""
},
"\nа тут увидел такую вот конструкцию\n",
{
"type": "pre",
"text": " List> listOfLists = List>();",
"language": ""
},
"\nзачем это?"
]
Никита
как я понял, это одно и тоже. только где [ ] типо сокращенная форма
Alexey
больше вложенностей богу вложенностей
Alexey
вот. косякнул даже в шутке. когда такое в коде пишешь, главное контакты не оставлять
Никита
[
"скажите в самом виджете можно прописывать условаия\n",
{
"type": "pre",
"text": " if (position) {\n alignment: Alignment.center,\n }",
"language": ""
},
""
]
Vyacheslav
[
"здесь в п.2 советуют еще короче писать\n",
{
"type": "link",
"text": "https://codewithandrea.com/tips/2020-08-09-dart-flutter-easy-wins-1-7/"
},
"\n",
{
"type": "pre",
"text": "var listOfLists = List >[];",
"language": ""
},
""
]
Alexey
[
"alignment: position ? ",
{
"type": "link",
"text": "Alignment.center"
},
" : other_alignment"
]
Никита
хочу передать не обязательный параметр, расположение кнопки
Никита
[
{
"type": "pre",
"text": "Widget buttons(name, {position}) {",
"language": ""
}
]
Никита
[
"и если есть то прописать есть ",
{
"type": "pre",
"text": "alignment: position ? Alignment.center : Alignment.position,",
"language": ""
},
""
]
Пашка
почему трай не ловит?
Alexey
может там не фаейрбейз ошибка? опусти укзаание типа
Alexey
сначала немного почитать про аргументы функций (именные, необязательные), потом почитать немного про тернарные операторы. Alignment.position не существует
Никита
Alignment.position - это я понимаю, что такого нет) Хотел подставлять туда значение. )) Хоро, почитаю. Спасибо
Ефим Иванов
[
"Это пробовал? ",
{
"type": "link",
"text": "https://pub.dev/packages/flutter_screenutil"
},
""
]
Ivan Pavlov
[
"Добрый вечер!\nПробую осуществить фильтрацию списка объектов из Hive в рамках одного StatefullWidget, но фильтрация списка через setState(() {}) не запускается. Хотя схожий подход через стримы работает отлично.\n\nКому не лень посмотреть код новичка - ",
{
"type": "link",
"text": "https://github.com/IvansPhoto/employees_children/blob/GetIt/lib/pages/EmployeesList.dart"
},
""
]
Ivan Pavlov
Что я тут не то пишу?)
Vyacheslav
а зачем тут Right у тебя? возвращай без него
Пашка
если все норм возвращает userCredential
Vyacheslav
да вроде это не так делается
Ефим Иванов
Попробуй) правда у меня он в некоторых моментах 1 в 1 соотносит а в некоторых нет, и хрен его знает почему так
admin
Подскажите, если знаете сайтик подглядеть можно, сделать кнопку в приложении и , чтобы сделать переход на другую страницу, или как реализуется кнопка с переходом? премного благодарен?
Vyacheslav
я посмотрел твой код, вроде все правильно, но зачем тебе с google signIn эту конструкцию использовать, не пойму. Обычный трай-кеч используй и дебажь, смотри у тебя ведь показывает, пишет что юзера такого нет
Serg Bell
[
{
"type": "link",
"text": "google.com"
}
]
Serg Bell
[
"[одит легенда, что в нём даже ",
{
"type": "link",
"text": "flutter.dev"
},
" найти можно"
]
Пашка
так я спецом пытаюсь словить ошибку, но трай ее не ловит
Kirill Aparin
Кажется кто-то сдался
Kirill Aparin
Там есть ещё сайт классный
Serg Bell
добавь сверху за перым catch второй с print
Vyacheslav
это потому, что метод не крашится, а дает ответ что нет такого юзера, скорее всего так
Vyacheslav
эксепшн в библиотеке уже обработан, тут его нет
Serg Bell
не, ну, спросили сайтик про кнопку - вот, подсказал, умничка я
admin
А флаттер не открывается
Kirill Aparin
[
"Я когда только начинал, после череды глупых вопросов мне прислали вот этот сайт \n",
{
"type": "link",
"text": "https://natribu.org/ru/"
},
""
]
Пашка
хмм, дебаг может специально там ловить ошибку?
Serg Bell
прост уезжый из Северной Кореи
Dart Flutter
У меня есть виджет Текст в нём переменная. Значение переменной меняется по нажатию кнопки. В кнопке есть сет стейт. Разве Виджет текст не должен обновиться и принять новое значение?
Vyacheslav
вот здесь отожми как надо и дебажь
Пашка
я по этому и удивился
Пашка
да стоит дебаг мой код
4nk1r
только начал разбираться в флаттере, вроде код как в документации, но кроме тулбара на экране ничего нет. не подскажете, где ошибка?
Никита
хороший сайт. Знаем такой. И видать скоро мне его будут присылать )))
Никита
[
"значит вопрос))\nЕсть виджет ",
{
"type": "pre",
"text": "Column",
"language": ""
},
" у него ",
{
"type": "pre",
"text": "crossAxisAlignment: CrossAxisAlignment.center,",
"language": ""
},
"\nТак же есть три виджета внутри. Допустим все Text()\n\nИ вот как сделать любому виджету положение left (прижать к левому ряду)"
]
Никита
В верстке знаю как, а тут не пойму
Пашка
засунь final wordPair в build
Vyacheslav
попробуй на сайте Reso Coder посмотреть, как он отлавливает експепшн в этом случае, у него есть туториал по файрбейс с авторизацией. И он точно использует Either
Пашка
так вот мой старый проект. и там все ок. единственное что разные Firebase версии
4nk1r
не подскажете, что за редактор?
Dart Flutter
постоянно жопа
Dart Flutter
и полная жопа если андройд студио
Dart Flutter
если хоть что то (флаттер, винда, андройдстудия) обновиться всё это рабочему дню пиздец
Kirill Aparin
[
"Я тут написал небольшой сервис по контролю языков, init работает, а вот change функция нет, думаю это из-за static, как сделать правильно\n",
{
"type": "pre",
"text": "import 'package:shared_preferences/shared_preferences.dart';\n\nclass LanguageService {\n static int language;\n\n static void initLanguage() async {\n SharedPreferences prefs = await SharedPreferences.getInstance();\n language = prefs.getInt('language') ?? 1;\n }\n\n static void changeLanguage(int numberLanguage) async {\n SharedPreferences prefs = await SharedPreferences.getInstance();\n prefs.setInt('language', numberLanguage);\n }\n}",
"language": ""
},
""
]
Kirill Aparin
[
"Хочу, чтобы был доступ из любого класса к переменной language, или мне нужно в каждом классе вызвать ",
{
"type": "pre",
"text": "SharedPreferences prefs = await SharedPreferences.getInstance();",
"language": ""
},
"?"
]
Dart Flutter
теперь мак и вскод
Kirill Aparin
А также, чтобы была возможно изменить language переменную
Dart Flutter
тоже парюсь щас с шаред преференс
4??uzhoy .
Зачем тебе каждый раз инициализировать шаред преф ?
Пашка
что то не понятное намудрили
Kirill Aparin
Тогда почему не работает перезапись?
Пашка
она как раз только появилась
Пашка
[
{
"type": "link",
"text": "https://firebase.flutter.dev/docs/auth/usage"
}
]
Kirill Aparin
Я делаю тупо LanguageService.changeLanguage(value)
Kirill Aparin
При нажатии на кнопку
Kirill Aparin
И это всё в setState
Vyacheslav
не усложняй, выкинь Either и все будет как надо))
Пашка
так это не проблема
Пашка
он отрабатывает нормально
Vyacheslav
а в чем тогда беда?
Пашка
он возвращает Left()
Serg Bell
перед prefs.setInt() тоже await
Vyacheslav
ясно. Попробуй обернуть в трай не конкретный свой запрос к базе, а весь свой метод. Там где его вызываешь выше уровнем
4??uzhoy .
Ты await не ставишь
4??uzhoy .
Воспользуйся нормальными локаль сервисами, не насилуй мозг
Пашка
все там же выкидывает
Пашка
flutter clean попробуй
Serg Bell
пусть это буду я - в терминале пиши
Serg Bell
[
"тебе сюда:",
{
"type": "link",
"text": "https://flutter.dev/docs/get-started/install/windows"
},
""
]
Vyacheslav
попробуй перехватывать AuthFirebaseException ты просто ошибку ловишь, попробуй конкретизировать
Пашка
и PlatformException пытался
Vyacheslav
на скрине было catch(err)
Пашка
суть в том что, отрабатывает метод как надо. в случае аунт. возвращает Right() в случае ошибки возвращает Left() просто во время ошибки от подсвечивает throw и выполняет код дальше
Kirill Aparin
Так там они обычно берут из устройства данные о языке, я хотел сделать именно по кнопке, или там можно и по кнопке?
Vyacheslav
Тогда так: 1) покурить 2) поспать 3) сделать перезагрузку всего что можно 4) решить проблему ??
Никита
[
"Подскажите пожалуйста,\n\n",
{
"type": "link",
"text": "https://github.com/X-Wei/flutter_catalog/blob/master/lib/routes/multimedia_image_picker_ex.dart"
},
"\n\nпочему подчеркивает \"_imageFile \" в самом низу"
]
4??uzhoy .
[
{
"type": "link",
"text": "https://youtu.be/lDfbbTvq4qM"
}
]
Aleksander Barsukov
как получить Map из cнэпшота Cloud Firestore? .data после снэпшота возвращает функцию, которая возвращает нужный мне Мар. А как сам Мар-то достать? type '() => Map ' is not a subtype of type 'Map'
Sergey
Выполнить функцию?
Олжас Сулеймен
дайте ссылку на доки по флаттеру мастер ветки, забыл уже
Олжас Сулеймен
что за Router
Ivan
[
{
"type": "link",
"text": "https://master-api.flutter.dev/flutter/widgets/Router-class.html"
}
]
Andrew Ka
[
{
"type": "link",
"text": "https://youtu.be/gdsKr521dro"
}
]
????? ILyos >
[
{
"type": "link",
"text": "https://pub.dev/packages/sticky_headers/example"
},
" есть ли плагин похожий на него только он должно крутится по горизонталу(как на видео)"
]
Олжас Сулеймен
можно но сомнительное дело
Олжас Сулеймен
не отвечу, глянь в истории чата, не впервой задают
Пашка
для айфона нужен Xcode
Artem Tkachenko
необходима macos
A Kuper
[
{
"type": "mention",
"text": "@Vity55"
}
]
Mitai
можно установить хакинтош
Дмитрий Коноферчук
можно в виртуалке поставить макось
Ivan
в виртуалке с симулятором нормально не поработаешь)
Дмитрий Коноферчук
так ему же просто собрать)
Ivan
ну тогда да, если не амд процессор, то самый простой вариант
Константин Федуров
а что не так с амд процами?
Mitai
мак не работает с амд процами и нвидиа картами выше хичь сьерры
Ivan
вроде как виртуалбокс не дружит с ним
Константин Федуров
понял. буду знать)
admin
А почему эмулятор созданный в андроид Студио не высвечивается?
Илья Максименко
Запущенный?
admin
Не в верхнем правом углу в баре?
admin
А когда запускаешь то вылетает ошибка Unable to locate adb. Эмулятор показывает только значок гугл
Илья Максименко
У меня тоже, но дальше всё работает
Andreu
А ошибка вам ни о чем не говорит?
admin
Выключил ошибку и эмулятор рабочий стол гугл показывает
admin
Говорит, только пока не понимаю связи
admin
Я так понимаю не конектится с Абд?
Andreu
Он не может найти его. В path прописан путь к нему?
Andreu
В командной строке adb devices выполняется из любой директории?
admin
Извиняюсь не знаю как это?(
Andreu
Покажи свой path, явно криво добавлено adb
Andreu
И где тут adb?я вижу только путь к флаттеру. Прогнули свою ошибку, будет написано как добавить правильно. Кажется и на сайте флаттера это было
Daniil Kolyasnikov
[
{
"type": "mention",
"text": "@bunopus"
}
]
Daniil Kolyasnikov
Может как то модерацию придумать от ботов или модераторов волонтеров назначить ? Вручную в одного сложновато со спамом бороться
Evgeny Kot
На самом деле не так часто. А сквозь ботов они пролезают
Andreu
Есть боты, где якобы 5 человек голосует за то, что это спам и тогда удалят
Evgeny Kot
Я такое видел, и видел что как-то так начинали травить тех, кто писал “неудобные вещи”
Serik Aidar
народ можете нормальный IDE посоветовать новичку Visual Code или продукцию JetBrains
Igor
Visual Code или продукцию JetBrains
Evgeny Kot
Vs code более дружелюбный imho
oc1 kent
Друзья, опыта мало. Направьте на путь, после инициализации WS соединения как прокинуть callback msg во все виджеты описанные в файлах?
Serik Aidar
я имел виду плагин по Visual code
Igor
поставь оба и посмотри какой больше нравится
Serik Aidar
ну больше вариантов не вижу
admin
Ну например андроид Студио?)
Andrew Ka
[
{
"type": "link",
"text": "https://www.youtube.com/watch?v=CJLaxJOwZ_I"
}
]
Serik Aidar
просто ему нужно ахулиард мегабайтов а у меня оперативка 4 гега
??[T?CH]?? ??
Хай, подкажите, чё тут может быть не так?
??[T?CH]?? ??
даже говнокод примитивный в 5 строк
??[T?CH]?? ??
разобрался. нужен фулл рестарт, а не update....
TheNewWarrior
hello! guys can i use english for awhile?
TheNewWarrior
sorry for writing in english i have a super doubt and i'm hesitating through groups everywhere haha I need to create an app, which will consume an local system which is called 'ERP' . there're several ERP systems which don't communicate to the internet] and i want these single local ERP everywhere to fetch its data to the cloud so i can create the backend to consume the data to my app the question is: how can i sync data from postgres to another postgres in the cloud an local postgres will sync eventually its datas to the postgres in the Cloud always when there's internet, this local postgres will send data to the postgres in the cloud
admin
Я вот одно не могу понять: Андроид студио тормознутый что-ли, по сравнению с визуал студией?
Andreu
Вс код более простой, на слабых компах разница ощутима
admin
Тоесть VS лучше использовать на слабых компах, чем АS.?
Andreu
Ну тут дело каждого, у меня последний iMac, но я все равно пользую вс кодом, ибо для флаттера он тупо удобнее
admin
Только вот эмулятор с AS как с реального телефона, а на вс ?
Andreu
Avd является лишь частью студии, ко тратя ставится вместе с ней. При желании можно поставить ее отдельно, но как правило у всех стоит и студия и вскод, просто пользуются последней
Илья Максименко
А можешь пример того, что удобнее делать на вс?
Evgeny Kot
Is it related to Flutter/Dart somehow?
Andreu
Лично мне куда удобнее пользоваться их шорткатами для вставки, удаления виджетов, перехода к месту реализации метода
Илья Максименко
Ого, все тоже можно делать в ас, круто
Andreu
Я из андроида пришёл, так что я знаю. Сейчас я немного поворошу задворки памяти, но какие-то аргументы однозначно были
Илья Максименко
Пока что единственный аргумент был в пользу vs code это производительность, но я не уверен равны ли они по функционалу, поскольку сам только android studio использую, так как тоже с андроида перекочевал
Andreu
Я что-то думаю что в момент выбора это и был главный аргумент, ибо я писал в тот момент на слабеньком ноуте достаточно долго. Я на самом деле уже просто привык к ней, но работа с гитом куда удобнее в студии, поэтому сейчас постоянно открыто и то и то
4??uzhoy .
Как у вас получается каждый раз заводить тему на счёт какая ide круче, так ещё и с перекосами в разные стороны
Andreu
Да тут вроде никто никому ничего не доказывает, делимся мнением)
|