Программирование : Dart & Flutter по-русски
First Last
(Подсказка: я тебе намекаю на то, что ты идешь по неправильному пути)
Arthur Donkovtsev
я его не понял
First Last
Тогда перечитывай доку
Arthur Donkovtsev
напиши ка правильно
First Last
Тебе уже написали как сделать
Arthur Donkovtsev
то есть после того как мы инициализировали переменную сторе , после можно использовать наши экшены?
Arthur Donkovtsev
отлично - вот я затупок
Kostia
[
{
"type": "link",
"text": "https://github.com/leisim/awesome-flutter-packages"
}
]
Kostia
Может кому-то понадобится
Konstantin Smirnov
Всем привет! Есть строка (Row), содержащая несколько childs, каждый шириной равной ширине текстового поля, вложенного в child. Подскажите, пожалуйста, как задать одинаковую фиксированную ширину всех childs в строке, не трогая код каждого child-a?
Konstantin Smirnov
Спасибо!
Konstantin Smirnov
Как рассчитать ширину - понятно. Как потом ее задать? параметра "width of child" в Row нет )))
Aleksey Chumikov
Обернуть в контейнеры. У них есть.
Konstantin Smirnov
Попробую написать по другому, есть List , как его разместить в Row, задав фиксированную ширину каждого виджета, ну и при этом mainAxisAlignment: MainAxisAlignment.spaceEvenly
Aleksey Chumikov
Или обернуть в expanded и поставить всем одинаковый flex. Например 1.
Дима
flex по-умолчанию 1)
Konstantin Smirnov
Обворачивать каждый виджет в Expanded?
Konstantin Smirnov
Понял. Для List сделать .map и обвернуть
Konstantin Smirnov
[
"Сделал так: Row(\n mainAxisAlignment: MainAxisAlignment.spaceEvenly,\n children: ",
{
"type": "link",
"text": "list.map"
},
"((widget) => Container(width: 80, height: 70, child: widget,)).toList(),\n),\nПолучилось, как надо! Всем спасибо!"
]
admin
Ребята у меня video_player 0.10.0+2 не работает
Farid
video_player: "0.7.2" самый оптимальный для работы, если честно. но с дьюрейшнами гемор гемором
Farid
у 0.10 много конфликтов с остальными депенденси
admin
[
{
"type": "mention",
"text": "@frddl"
},
" spasibo"
]
admin
подскажите в этом примере, что я написал идёт передача адреса управления метода в другой класс? получается что два класса одновременно управляют этим методом?
First Last
Name2 получает функцию которую он может вызвать
First Last
А так как ты передаешь ее с уже готового объекта - будет работать именно так
First Last
(Я не знаю как объяснить. Ты даешь функцию с объекта который уже использован)
Кирилл Адещенко
Подскажите как такое реализовать правильно) И чтобы при многострочном тексте стрелочка была в конце текста ps Заранее спасибо!
Кирилл Адещенко
Первая итерация была именно такая, но стрелочка должна быть кастомна
Кирилл Адещенко
Сейчас всё через Text и Image
Кирилл Адещенко
Думал может есть нормальные решения, а не костыли)
Vyacheslav
Господа. Очередная проблема. У заказчика (последний топовый Самсунг) не работает UI, который на моих девайсах нормально рендерится. Кто-нибудь сталкивался?
Vyacheslav
Такого от флаттера не ожидал
Кирилл Адещенко
Скажи это моему дизайнеру)
First Last
Угу Но у меня не весь ui
Vyacheslav
Куда-то потерялись формы ввода. И картинки
Vyacheslav
[
{
"type": "mention",
"text": "@misteraleph"
},
" такие баги сейчас есть?"
]
First Last
Он же за sdk отвечает
First Last
У флаттера другая команда
Vyacheslav
Ну он шарит больше всех в этом чате, имхо
Vyacheslav
К тому же мы договорились, что я ему пишу обо всех встречных мною багах
tdesc
хоть картинку как баг репорт )
tdesc
там вообщет обычно стек норм распечатывает при ошибках
Vyacheslav
Белый экран?:)
tdesc
что значит белый экран
Vyacheslav
Ох не начинай)
tdesc
я пытаюсь понять что за ошибка
Vyacheslav
Вместо элементов белый экран.
tdesc
и на каком самсунге
Vyacheslav
Последний, не помню какой. Ведро на нем тоже последнее
tdesc
у нас есть 9 и 9 ноут
Vyacheslav
Я этот девайса на могу для отладки взять
Михаил
[
{
"type": "link",
"text": "https://developer.samsung.com/remotetestlab/galaxy/rtlDeviceList.action#432"
}
]
Vyacheslav
Со стилусом. Я не шарю
Михаил
Попробуй тут воспроизвести
tdesc
дай верстку я бы завтра попробовал
Vyacheslav
Спасибо. Я пока сам поковыряю. Если будет безысходность или раскопают секрет - скину
Sergey ?
Galaxy Note, если последний то 9, как и к меня. Если что могу потестить
Maria
Самсунги какие-то особенные? В соседнем чате тоже была недавно с ним проблема. Приложение крашилось при старте.
Sergey ?
Да, сейчас уже не так все плохо. Раньше были очень проблемные устройства.
Maria
может быть как-то с этим связано? Note Flutter currently does not support building for x86 Android (issue #9253) directly, however apps built for ARMv7 or ARM64 run fine (via ARM emulation) on many x86 Android devices.
Михаил
Да и сейчас именно у них специфичные проблемы возникают
Maria
Тогда даже интересно, что с ними не так
Михаил
Этот вопрос волнует уже не одно поколение андроид девов)
Sergey ?
Самое безобидное, картинки с камеры всегда перевернутые на 90 градусов
Sergey ?
Надо читать exif данные и поворачивать обратно
Vyacheslav Egorov
Если есть модель самсунга и скриншоты, то надо засылать Флатеровцам -с скорее всего бар в Skia / GPU
Sergey ?
С более серьезных проблем, на ранних версиях прошивок для Galaxy S7, запуск активити с флагом NEW_TASK запускало её в отдельном процессе. Вот это было неприятно.
Олжас Сулеймен
хорошо что в дарте не появился тип ListOr код с Dojo на ts protected render(): DNode | DNode[] { return v('div', {}, this.children); }
Nightwelf
народ, кто знает как такое порешать?
Nightwelf
* What went wrong: The Android Gradle plugin supports only Kotlin Gradle plugin version 1.3.0 and higher. The following dependencies do not satisfy the required version: project ':flutter_native_timezone' -> org.jetbrains.kotlin:kotlin-gradle-plugin:1.2.30
Nightwelf
я понимаю в чем проблема, но как ее решить
Danny
попробуй в android/build.gradle поставить последнюю версию котлина: ext.kotlin_version = '1.3.20'
Bakhtiyor
[
{
"type": "link",
"text": "https://github.com/vasern/vasern/blob/master/roadmap.md"
},
"\n\nnew db player, flutter in the roadmap"
]
Nightwelf
версия не помогает) и последняя уже 1.3.21
Nightwelf
это чаво такое?
Bakhtiyor
don't you see it?
Phil
Коллеги, доброе утро. Ищу информацию по интеграции JS в Dart/Flutter, но(!) кейс специфический. Задача - реализовать подгрузку JS в рантайме. Есть идеи?
Igor Katsuba
либо свой движек на дарте)
Igor Katsuba
в теории можно втащить v8 в flutter
Phil
Вертящийся в webview JS может иметь доступ к flutter-виджетам? А если через какой-то самописный API?
Bakhtiyor
hmm, just sharing interesting project!
Phil
Окей, скомпилируемому приложению можно как-то подсовывать новые модули?
Phil
Если не JS, то может Dart
Igor Katsuba
инжект кода в рантайм мне кажется немного небезопасной историей
Igor Katsuba
организуйте json парсер, который будет строить виджеты по json
Phil
Это запланировано уже, да)
Phil
Но хотелось бы еще иметь возможность расширять логику работы с виджетами уже после компиляции
Igor Katsuba
создай issue на github)
Phil
Если в рамках какого-то строгого API и без доступа к внутрянке, то норм) Наверное)
Phil
Если не найду решения, обязательно пойду ныть разрабам)
Barefoot Gen
Приветствую! Никто не видел попыток генерации кода виджетов из html?
Vyacheslav
Тут я тебя раньше видел
Vyacheslav
Ты весь айос теперь на Дарт переписываешь?
Andrey Oshev
Не, для прода эта поделка не подходит) Просто интересуюсь ??
Vyacheslav
Запомни новую мантру: Дарт + котлин-нейтив. И вайпер не нужен.
Andrey Oshev
Причем тут вайпер))
Nightwelf
кто знает как порешать проблему: при переходе с первого экрана на второй у меня автофокусом открывается клавиатура, но если ее не закрыть и нажать назад, то как обычно бывает A RenderFlex overflowed by 1.8 pixels on the bottom. что придумать? но если ее скрыть, и нажать назад, то все ок
Phil
[
{
"type": "link",
"text": "https://github.com/flutter/plugins/pull/1116"
}
]
Igor Katsuba
круть, не видел такого
(;?_?) Ivan Zhuravlev ???>?
чатик, а есть что-нибудь почитать про splash\loading screen для flutter+redux? что-то гугл ничего полезного не подкидывает
Alex Adrianov
Кто-нибудь знает, как пофиксить этот баг в релизе? Error: This version of cloud_firestore will break your Android build if it or its dependencies aren't compatible with AndroidX.
Alex Adrianov
Не, там норм, после того как билд сделал, предупреждения нет. Спасибо
hakon
Очень интересно как ты нажимаешь назад и при этом не закрываешь клавиатуру
Nightwelf
Оно само закрывается
hakon
Попробуй засунуть все в SingleChildScrollView, чтобы не было overflowed
Nightwelf
Пробовал, не работает
hakon
Еще можно в scaffold поставить resizeToAvoidBottomInset в false
Nightwelf
Попробую, спасибо
Konstantin Smirnov
Ребята, делаю свой обработчик push-уведомлений с Data. Если получены нужные данные, запускаю MainActivity (с флагом FLAG_ACTIVITY_NEW_TASK) и передаю ему данные в Extras. В методах onCreate и onNewIntent вытаскиваю данные из интернта и отправляю во флаттер по каналу. Проблема: Если приложение в памяти, то все отлично (отрабатывает onNewIntent), а если убито, то приложение запускается, но данные по каналу, видимо, уходят раньше, чем флаттер начинает опрашивает канал (это мое предположение). Как это побороть?
Konstantin Smirnov
интента*
Konstantin Smirnov
Я не использую плагин firebase_message. Делаю все в ручную, данные отлично доходят и обрабатываются.
Konstantin Smirnov
Есть идея: опрашивать наличие данных из флаттера при запуске, но не очень красиво, и придется, после опроса удалять данные из интента, чтобы не было повторов...
Konstantin Smirnov
Не мудрствуя лукаво именно так и сделал...
northelks
[
{
"type": "link",
"text": "https://www.udemy.com/flutter-firebase-build-a-complete-app-for-ios-android/?couponCode=FREE-6ECA"
}
]
Nightwelf
в теме кто нет, как можно показывать иконку в зависимости от ее строкового названия, которое, например пришло с сервера
Михаил
иконки из ассетов?
Михаил
либо рефлекшн с ClassMirror, либо писать маппер для всех иконок
Nightwelf
последнее - лень)
Nightwelf
первое это что?
Михаил
[
{
"type": "link",
"text": "https://api.dartlang.org/stable/2.2.0/dart-mirrors/ClassMirror-class.html"
}
]
Boris Glebov
странный баг нашел, если в инпуте ввести смайл: ??, то курсор перемещается в начало строки. С другими смайлами вроде ок, интересно с чем это связано
Artem Zaitsev
[
"Есть подозрение, что mirros не работают на флаттере \n",
{
"type": "pre",
"text": "Note: This article applies only to the standalone VM under the 1.x Dart SDK. We don’t recommend using mirrors in web applications, and the Flutter SDK does not support the dart:mirrors library.",
"language": ""
},
""
]
Boris Glebov
на ios и android повторяется. в 1.2.0. Или что имеется ввиду?
Дмитрий Митрофанов
Все в java сообществе говорят, что рефлексия это плохо и не нужно её использовать. А тут наоборот?
Михаил
если ее можно избежать то лучше не юзать)
Дмитрий Митрофанов
Я тоже согласен с этим, при этом всегда есть возможность избежать рефлексии
Boris Glebov
меня мучает еще один баг или фича, именно только в андроиде. когда ввожу текст в поле где стоит лимит на символы например 3 и если ввожу 4й то курсор в начало уходит. В ios такое не повторяется, что тоже удивило зависимость от платформы.
Михаил
ну писать маппер для 700 икнонок такое себе занятие
Михаил
и рефлекшн еще не факт что медленнее будет
Дмитрий Митрофанов
А кодогенерация?
Sergey ?
если говорить конкретно про флаттер, о её нету )
Дмитрий Митрофанов
Вот это хуже, чем не работающая либа ))
Михаил
не знаю как оно во флаттере пишется, для меня это космический путь)
admin
а можно как-то только под определенную модель смарта, реализ собрать? или проверять название модели при запуске?
Михаил
можно через MethodChannel брать модель девайса
Roman Pihariev
[
"всем привет, пытаюсь настроить файрбейз для проекта, в данный момент делаю сетап для иос проекта и при запуске билда валится со следующей ошибкой ",
{
"type": "link",
"text": "https://gist.github.com/pihariev/94a6c95ea8a9acbdf64d6fab4a855366"
},
""
]
Roman Pihariev
нашёл в чем проблема была, файл конфигурации нужно фетчить к раннеру иос проекта через икс код, иначе не заводится
Ruslan Kryzhanovskyi
Привет, кто подскажет рабочий плагин для считывания qr кодов? Заранее спасибо)
???????
Так куча их, flutter_vision например
???????
[
{
"type": "mention",
"text": "@Belokotov"
},
" , вроде, использовал, может дать развернутый отзыв"
]
???????
Из минусов, насколько помню, довольно жирная библиотека
Danny
и еще ios не работает, если я ту либу нашел
Ruslan Kryzhanovskyi
Спасибо
Arthur Donkovtsev
Знатоки , а что кроме redux можете посоветовать?
tdesc
посоветовать описать проблему
Arthur Donkovtsev
Нет проблем
Arthur Donkovtsev
Интересно что ещё можно юзать
Кирилл Матросов
bloc, scoped_model, писать в файлы)
northelks
+1 к flutter_bloc
Ruslan Kryzhanovskyi
чистый блок без всяких либ намного круче
Karen
намного круче, безусловно
Игорь Кравченко
[
"При работе с flutter_bloc обратите внимание на fromJson в ",
{
"type": "link",
"text": "https://github.com/felangel/equatable"
},
""
]
northelks
какой процент выдержки чистоты?)
northelks
блок это архитектура, а либы это её реализация)
northelks
а, ну тогда вопрос нет)
northelks
без дополнительной закваски не обойтись
???????
Тоже использовал раньше "читый блок", вся "чистота" заключалась в том, что был отдельно написаный класс провайдера. Мол, блок был просто для доступа к общим переменным.
???????
Потом попробывал flutter_bloc и все эти статусы-эвенты, посмотрел примеры, так и использую с тех пор.
???????
[
"Ну что, время идиотских вопросов?)\nМне немного больно проверять переменную на ",
{
"type": "code",
"text": "null"
},
" таким образом: ",
{
"type": "code",
"text": "(myVar == null)"
},
"\nА ",
{
"type": "code",
"text": "myVar is null"
},
" вроде некорректно."
]
???????
Есть ли способ делать это приятнее?
Boris Glebov
а кто нибудь сталкивался с таким, что когда мы в возвращаем новый state из mapEventToState (речь про flutter_bloc), это не всегда приводит к вызову функции build у BlocBuilder. Хотя если задебажить доходит до вызова setState. Это в основном коненчо проявлялось при интенсивном кол-ве евинтов обновляющих стейт. В целом это наверно ок поведение, я как понял есть оптимизации при вызове setState
???????
Допустимо выбивать эксепшен.
northelks
myVar ?? false ??
???????
Тобишь если в переменной есть объект это считается за True?
northelks
да, ?? проверка именно на null
???????
Не, сейчас на примере покажу, что имено я хочу
???????
Про такой шоткат от тернарного условия я знаю)
???????
[
{
"type": "pre",
"text": "class A {}\n\nvoid main() async {\n A a = new A();\n if (a == null)\n print('null');\n else\n print('not null');\n}",
"language": ""
}
]
???????
[
"Вот, на что тут можно заменить ",
{
"type": "code",
"text": "=="
},
"?\nВ идеале, конечно, хотелось бы писать ",
{
"type": "code",
"text": "is"
},
", но будет некорректно"
]
???????
Просто для меня, именно сравнивать с null - это немного поколхозному)
???????
[
"Хотелось бы чтото вроде ",
{
"type": "code",
"text": "isNull(myVar)"
},
" или ",
{
"type": "code",
"text": "myVar is null"
},
""
]
IB Akhrorov
Коллеги , интерпретатор flutter работает в jvm на андроиде
???????
Оно не интерпретируется
???????
А компилится в натив
IB Akhrorov
Вроде у дарта не интерпретатор???
IB Akhrorov
Значит код не идет к jvm?
???????
Я в этом вопросе немного плаваю, знаю, что дарт за собой тянет виртуальную машину, вроде как. Но жабы тут точно нет
|