Программирование : Dart & Flutter по-русски
Михаил Владимирович
Спасибо?? щас буду пробовать
Dmitry Bannikov
весь лог в консоли пролистай
Dmitry Bannikov
может повыше будет чтото написано обычным цветом
Alexandr Drobyshev
так я так понял у вас беда когда вы рефрешь делаете, у меня нет рефреша если тянуть) у меня вебсокеты
Oleg
а как вы подгружаете старые сообщения ?)
Alexandr Drobyshev
ну не рефрешем же, у меня скролится и при скроле гружу
Oleg
вот мне такое и нужно)
Alexandr Drobyshev
как омжно старые подгрузить рефрешем) для меня рефрешь это когда все чистим и запрашиваем начальные данные)
Alexandr Drobyshev
ну так не чо не дергается, значит что то не то вы делаете0
Alexandr Drobyshev
реализация простоая)
Alexandr Drobyshev
list = [...list, ...newList]
Otx
Подскажите как можно сделать, чтобы при добавлении элемента в ListView builder сделать так, чтобы он скролился вниз сразу
Oleg
я использую SmartRefresher, а он не видит GroupedListView )
Alexandr Drobyshev
reverse:true ? как в чате?
Alexandr Drobyshev
я не знаю что такое смарт рефрешер - но, имхо, рефрешь означает обновить, а подгрузка != обновление
Otx
Да. Reverse есть, но когда диалог заполняет окно, то лист добавляет элемент, но чтобы его увидеть надо вниз скролить самому. Хочется сделать, чтобы он автоматически скролил
Alexandr Drobyshev
это противоположные действия
Oleg
_scrollController.jumpTo(0.0);
El
scrollController.animateTo(scrollController.position.maxScrollExtent)
Otx
Записал себе, спасибо
kk boomer
Это когда Энигме блэкхолл вуб вуб, а потом рефрешишь и снова вуб вуб
kk boomer
сорри за оффтоп
Oleg
а что используете для подрузки и индикации ее)
Alexandr Drobyshev
эм... я не понимаю вашего вопроса... зачем что то использовать? докрутили до кокого то положения, вызвали _bloc.add(FetchMoreMessages()) пока стейт с флагом loading Stack([ ListView(), if (state.loading) LinearProgressIndicator() ])
Oleg
а как вы отслеживаете "докрутили до кокого то положения, вызвали _bloc.add(FetchMoreMessages())" ?)
Alexandr Drobyshev
у меня вообще лист переписан, я из него выкинул его листвью и прикрутил туда гуловский, и сдлеал метод nextPage: () { _messagesBloc.add(....); },
Alexandr Drobyshev
а отследивал раньеш по лостатку до конца листа
Alexandr Drobyshev
а ща когда першел на гугловский сдал смотреть какой итем виден
Alexandr Drobyshev
типа if (itemCount - currentIndex < 5) nextPage();
Илья Маненков
Подскажите пожалуйста как сделать такой индикатор загрузки?
Илья Маненков
Типа CirculesProgressIndicator
Alexandr Drobyshev
[
{
"type": "link",
"text": "https://pub.dev/packages/scrollable_positioned_list/versions/0.2.0-nullsafety.0"
}
]
Alexandr Drobyshev
этот юзаю
Илья Маненков
Только рисовать самому?
Ivan
[
{
"type": "link",
"text": "https://api.flutter.dev/flutter/cupertino/CupertinoActivityIndicator-class.html"
},
" вроде он"
]
Илья Маненков
Спасибо попробую)
Michael Lazebny
Можно через Custom Painter
Anatoliy Dvoryashin
Через rive можно ещё
Sergey
Как сделать отступ у подчеркнутого текста
Michael Lazebny
типо внутренний?
Michael Lazebny
это виджет Text()?
El
[
"Выбирай - ",
{
"type": "link",
"text": "https://github.com/flutter/flutter/issues/30541"
},
""
]
Jamshed Rakhmonov
Интересный опыт, 20 минут сидел и тупил почему не работает метод пост и после до меня дошло то что я указал неправильный апи( -нервы
47 Миллионов
Как убрать это предложение?
Пашка
какого поведения ты ожидаешь?
47 Миллионов
Чтобы не было предупреждения, я не хочу скролить
Пашка
у scaffold resize bottom insets вроде
ManBearPig
[
{
"type": "link",
"text": "https://api.flutter.dev/flutter/material/Scaffold/resizeToAvoidBottomInset.htm"
}
]
Evgenii Elchev
как тогда кнопку жать юзер будет?
Пашка
это на айфоне мы привыкли такое поведение
47 Миллионов
закроет клавиатуру
ManBearPig
resizeToAvoidBottomInset разве не оно ?
Evgenii Elchev
на айфоне он ее где возьмёт?
ManBearPig
По 10 раз на неделе )
Пашка
так я и говорю что на айфонах нету, и мы привыкли что есть скрол в таких случаях
Григорий
Но на айфонах кстати клавиатура меньше есть шанс что такого не будет
Evgenii Elchev
у так апка же кроссплатформенная
Evgenii Elchev
на айфоне есть se на котором есть шанс что и поля второго не видно будет)
Григорий
Ну кнопки в любом случае видео не будет)
Evgenii Elchev
просто пол экрана нет
Evgenii Elchev
это 12 mini
Evgenii Elchev
так что я бы жахнул скрол)
47 Миллионов
Спасибо, не подумал что такое может быть )
Пашка
ещё и гестур детектор на анфокус)
Evgenii Elchev
это не костыль
Evgenii Elchev
в ios все закрывают клавиатуру свайпом вниз
Evgenii Elchev
это стандартное поведение
Evgenii Elchev
во флаттере оно тоже есть
Evgenii Elchev
я даже в каком то видосе показывал)
Evgenii Elchev
оно правда работает не так красиво как в ios
ManBearPig
Может припрлучении фокуса просто убирать кнопку Visable вроде есть
Evgenii Elchev
не следует за пальцем, а просто закрывает на скрол сразу
Evgenii Elchev
что значит нет?
Пашка
только что проверил
Evgenii Elchev
я записал видос и показывал как это включить
Evgenii Elchev
а ты говоришь нет
Пашка
его ещё и включать надо?
Evgenii Elchev
я не помню в каком именно я это показывал))
Ivan
будет повод пересмотреть)
Пашка
все равно спасибо, завтра найду
Ivan
а во флаттере ж нельзя играться с закрытием клавиатурой? например как в телеге
Пашка
да интересно, ещё бы бекграунд ей подкладывать
Ivan
ну в смысле реализовать эту фичу
Evgenii Elchev
так нельзя
Evgenii Elchev
она будет сразу закрываться на любой скрол
Evgenii Elchev
что вверх, что вниз
Evgenii Elchev
но это лучше чем тап)
Пашка
мб энтузиасты найдут способ
Evgenii Elchev
ну пока что у флаттера все плохо с клавой
Пашка
особенно с бекграундом серым
Пашка
прям в глаза бросается
Evgenii Elchev
меня больше всего убивает пустое пространство когда клава закрывается)
Dart Flutter
Парни есть идеи как по моей текущей геопозиции получить центр населенного пункта? Может либа есть может список кооржинат с центрами нас пунктов? Или вообще куда копать? (использую пакет геолокатор но там такой возможности не вижу)
Ivan
как вообще 12 мини? юзабелен? и с какого девайса переходили?
Timur M.
Можно попробовать самому сделать По координатам получаешь адрес Выбираешь а нем населенный пункт Делаешь поиск по населенному пункту
ManBearPig
С центрами , что то вроде poi меток? Не видел такого, но видел границы регионов....
Dima Kotlyarov
Его там и нет
ManBearPig
А как границы предлагаете очерчивать ???
Dart Flutter
не совсем. допустим я на окраине питера. геолокатор определил что я в городе питер. а дальше мне надо взять центр города и отталкиваться от него чтоб там область какую то выбрать
Dima Kotlyarov
У гугл карт апи есть вроде такая функция но она платная
Timur M.
Тут скорее вопрос уровня детализации
ManBearPig
Населённого пункта , что бы после уже центр можно было высчитать ?
Dima Kotlyarov
И геолокатор тут не причём. Геолокатор даёт тебе координаты
Dima Kotlyarov
А такую функцию тебе может предоставить гуглмап виджет
ManBearPig
Или центр не географический а адмистративный ?
Timur M.
Да ни как Выехал тебе адрес района вернёт по идее
ManBearPig
Это как бы разные вещи
Dart Flutter
административный
Dart Flutter
смотря что понимать под этим)) если я на окраине посёлка) то мне надо просто центр этого посёлка
ManBearPig
Тогда только смотреть как реализованы карты в mapbox где есть границы округов /стран Но я момневаюсь, что там есть данные о "центре" административном городов...
Alexander M.
Ребят, возник интересный вопрос, но, возможно, смешной) Что лучше использовать для хранения данных в плане нагрузки на сервер: json или БД (MySQL)? Просто не особо хочется сейчас настраивать БД, а json уже построен и работает. Вопрос именно не про безопасность данных, а про нагрузку на сервер!
ManBearPig
Посмотрите реализацию карт в mapbox для регионов/стран Там есть границы и центр....
ManBearPig
Json в бд только если не будете выборку делать и обновление отдельных полей в моделе
ManBearPig
Это можно но очень накладно по ресурсам
Dart Flutter
смотрю их на паб.дев много разных не поните в какой точно либе?
Timur M.
Либо монго какой-нибудь настроить
ManBearPig
Там можно внутри транзакции работать с json но это глупость ) Лучше или просто условный кэш в ячейку , или вообще забыть о том, что можно json в ьд хранить
ManBearPig
Зарегистрируйтесь или просто найдите репощиторий со СТИЛЯМИ карт
ManBearPig
Сорри, ссылку не дам) я в отпуске )))
Dart Flutter
благодарю. пошуршу
ManBearPig
На github точно были эти стили
Alexander M.
У меня немного лютейшая задумка. Я планирую в БД хранить зарегистрированных юзеров, а также для каждого юзера хранить ссылку на конкретный json. Каждый юзер может изменять относящийся к нему json. Все изменения будут происходить посредством post запроса на сервер с данными, которые впоследствии будут сохраняться в файле json. Так вообще норм делать или слишком люто?)
Timur M.
Почитай что такое Монгодб и как она работает
Dima Kotlyarov
А что это ?
Alexander M.
Так а если сервак предоставляет только MySQL? Но вообще я слышал, что mongodb это как раз про json.
Dima Kotlyarov
Ерспт ) А что там про Json?
ManBearPig
Зачем в таком случае дублировать? Есть бд, там все легко обновляется Я бзаю это только для всякого "избранное " для пользователя где есть id того что он выбрал название и url на ищоьражение,
Timur M.
Если сервак реляционная база, то парсить Json по любому
Timur M.
Но вообще вопрос офтоп)
Timur M.
Там объекты а не строки
ManBearPig
Хранить сами модели/ массивы с ними только если кроме получения с этой датой ни чего не будете делать....
ManBearPig
Зы тогда ещё придётся отдельно прописать как работать json сериализатору с конкретным полем , внутри которого json)
Vitalii Ishkevych
Как в строке убрать 3 символа с конца?
Michael Lazebny
[
{
"type": "link",
"text": "https://api.flutter.dev/flutter/dart-core/String/substring.html"
}
]
Michael Lazebny
[
{
"type": "mention",
"text": "@VitaliiIshkevych"
}
]
Vladislav Osadchy
[
"привет всем! ребят поскажите как запустить эмулятор андроид-девайса на маке? всегде использовал VSCode и эмулятор iOS устройст…но вот понадобилось тесты на андроиде…поставил SDK по инструкции отсюда ",
{
"type": "link",
"text": "https://proandroiddev.com/how-to-setup-android-sdk-without-android-studio-6d60d0f2812a"
},
" \nа как запустить эмулятор не понимаю"
]
Dima Kotlyarov
поставь студию да и все
Evgenii Elchev
переходил с 11ого. Хотел что то поменьше и полегче, сейчас кайфую)
Vitalii Koretskyi
что за бд?
Hamdam ?
Немного странности в ленту: Это листайл бордеры не исчезают
Sidredin Agashirinoff
Какие именно бордеры?
Hamdam ?
ListTile( shape: RoundedRectangleBorder( borderRadius: BorderRadius.circular(33), side: BorderSide(color: Colors.white, width: 0.5)),
Hamdam ?
[
"alertdialog(backgroundColor: ",
{
"type": "link",
"text": "Colors.black"
},
")"
]
Hamdam ?
actions: [ MaterialButton( onPressed: () { Navigator.of(context).pop(false); }, child: Text("Change"), ), MaterialButton( onPressed: () { Navigator.of(context).pop(true); }, child: Text("Confirm"), ), ],
Mansur Mansur
ListTile оберни в контейнер и все
Hamdam ?
я уже нашел способ спасибо)) я просто удивился и решил поделиться)) по сути так не должно ж быть
Константин Бобров
можно ли как-то перекрашивать этот элемент в полностью прозрачный и менять цвет информации, который в этом баре находится?
Anatoliy Razumov
SystemChrome.setSystemUIOverlayStyle( SystemUiOverlayStyle( statusBarColor: , systemNavigationBarIconBrightness: , ), ); Попробуй покрути, может получится нужное
isa abuflorinda
Ребят, привет! Посоветуйте пожалуйста, чем обернуть поле Html для горизонтального скролла? Как ни кручу - справа 500 пикселей ошибка рендера (джун)
isa abuflorinda
flutter_html
isa abuflorinda
Рендерит Html и CSS. Или пакет не очень?))
isa abuflorinda
[
"flutter_html | Flutter Package\n",
{
"type": "link",
"text": "https://pub.dev/packages/flutter_html/changelog"
}
]
d
Зачем рендерить html/css во флаттере?) разве что если только не для каких-то баннеров и тп
MiT
Пакет не очень стал. Загляни в его зависимости, это будущий ад
Дмитрий Щербаков
ща тож задача была как отобразить html нормально без webview. в итоге пришли к тому что на бэке прост вырезаем оттуда все лишнее оставляя только теги h p li ul ol div и на клиенте уже конвертим в норм виджеты
Sergey Hottabych
Очень даже нужно. Была такая задача, когда с сервера прилетали описания витаминов в HTML, и надо было их нормально отображать во Флаттере. В Webview — это УГ. Вышеозначенный плагин как раз парсит HTML во Флаттеровские виджеты (даже ссылочки кликабельные).
isa abuflorinda
Жаль, функционал прям в точку)
isa abuflorinda
Да, скролл Html вправо.
isa abuflorinda
Пробовал сингскролл в сингскролл. Отдельно только горизонтальный сейчас попробую. Спасибо
Evgenia
Добрый день, нужен человек, способный сверстать flutter app по макетам Figma (только моб вид). Вилка оплаты 150-200 000 р в месяц. Важна внимательность и точность верстки по сравнению с макетами.
MiT
[
{
"type": "link",
"text": "https://t.me/dartlang_jobs"
}
]
Игнатьев Дмитрий
Всем привет! Флаттер кажется ругается на пейджвью, хотя я обернул его в экспандед, но хз. Кто знает в чем проблема? Пытался гуглить ошибку но пишут только про пейджвью с эскпандэдом
Илья Коваленко
я если не ошибаюсь это плагином за 5 минут делается
Vladislav Rudenua
такой вопрос как переместить пермишенсы в установку апк
Vladislav Rudenua
просто у меня доступ нужный для уведомлений запускается сразу как приложение открывается, я думал переместить это в процесс установки
Игнатьев Дмитрий
все равно пишет Incorrect use of ParentDataWidget.
Дмитрий Щербаков
там будет такая жесть в коде что проще убиться чем это потом причесывать
Andrei R
Подскажите пожалуйста, есть ли возможность отслеживать содержимое листа в реальном времени при дебаге?
FantasyOR
Возможно имелись ввиду, плагины storybook и perfectPixel их одновременное использование действительно помогает верстать очень точно к макету
Дмитрий Щербаков
ну если про 5 минут то это наверно все таки генератор имелся ввиду
Дмитрий Щербаков
милилард стеков и positioned и тыща кода на 1 кнопку
FantasyOR
генераторы действительно зло, всё в стеке в абсолютных координатах нафигачат потом не найдёшь кнопку чтоб экшн прикрепить
Daniil Kolyasnikov
Нуууу. Все зависит от макета
|