Урок 24: "Основы Flutter - CustomSingleChildLayout и CustomMultiChildLayout"

แชร์
ฝัง
  • เผยแพร่เมื่อ 10 ก.ย. 2024

ความคิดเห็น • 71

  • @morrigan_ghost
    @morrigan_ghost 2 ปีที่แล้ว +7

    очень мало просмотров и комментариев, но вы продолжаете свой труд. Спасибо!

  • @ehson-lk3gz
    @ehson-lk3gz 3 ปีที่แล้ว +9

    оууу, будет бессонная ночь! спасибо за то , что вы делаете

  • @advance5189
    @advance5189 2 ปีที่แล้ว +7

    Даа... Голова конечно раскалывается)). Спасибо за такие прекрасные уроки.Если бы не вы, то не знаю кто бы мог такой бесплатный и продуктивный курс записать по Dart & Flutter )

  • @dmitry9088
    @dmitry9088 3 ปีที่แล้ว +7

    "Flutter простой и лаконичный" - говорили они... 90 строк кода, чтоб разбить текст на три колонки так как нам нужно)) В свифте и реакт нэйтив так же?) А так мне нравится. Многое не до конца понимаю, но пишу код и делаю заметки. Думаю на реальных задачах как минимум буду знать, где искать ответ. А дальше с практикой станет понятнее)

  • @nicolaymusic
    @nicolaymusic 2 ปีที่แล้ว +5

    В Dart текст можно умножать на число, чтобы быстро увеличить количество текста. 'da' * 100 отобразится как сто раз 'da' подряд. Удобно для тестирования на большой текст.
    Спасибо за разбор виджетов)

  • @evgeniydoronin
    @evgeniydoronin 3 ปีที่แล้ว +16

    Огромное спасибо! Буду очень признателен если шрифт увеличите в последующих роликах, мелко все очень)

    • @LearnDartFlutter
      @LearnDartFlutter  3 ปีที่แล้ว +7

      постараюсь не забыть это сделать, если забуду напоминай)

  • @flowerinpower
    @flowerinpower 3 ปีที่แล้ว +3

    Здравствуйте,
    Благодарю за то, что вы делаете! Ваш канал это находка. Всё очень круто: от голоса который приятно слушать, до вербозности подачи материала!
    Я посмотрел пока только единственный урок, но планирую посмотреть всё что у вас тут есть!

  • @HaKoIIuTeJIb
    @HaKoIIuTeJIb 3 ปีที่แล้ว +1

    Всегда пишу код вместе с вами, очень помогает усвоить материал. Спасибо большое.

  • @user-mr3of6up7c
    @user-mr3of6up7c 2 ปีที่แล้ว

    Жень, подписался на boosty. Ещё раз спасибо Тебе!!! И всех призываю, для нас копейки, а для Автора поддержка!

  • @user-iv3lt5ri5z
    @user-iv3lt5ri5z ปีที่แล้ว

    Спасибо! Достаточно сложные для меня темы были, но попрактиковал после просмотра и все понял.

  • @sovrinfo
    @sovrinfo 3 ปีที่แล้ว +1

    Большое спасибо за ваш труд!!! Коммент в поддержку!

  • @user-mx1no7wu6u
    @user-mx1no7wu6u 2 ปีที่แล้ว +1

    Ваши лекции просто бомба!. Перерыл не один канал на русском или англ. но ваш контект просто лучший! Почти год учу Flutter, около полугода пишу реальный web проект по примеру архитектуры ментора. Казалось, что вот вот что то начинаю понимать! Но посмотрел я ваши уроки и осознал, что еще ничего толком не знаю) Надеюсь после ваших видео начну куда осознаннее использовать знания.

    • @user-bu5xw6yf8q
      @user-bu5xw6yf8q 2 ปีที่แล้ว

      Как ваши успехи с обучением?

  • @atommixz
    @atommixz ปีที่แล้ว +2

    Кстати tight читается как тайт
    Align - Элайн
    Alignment - Элайнмент

  • @user-fi3tm2oi2e
    @user-fi3tm2oi2e 2 ปีที่แล้ว

    Спасибо за ваши уроки. Очень подробно и главное понятно для того кто начал с нуля. Очень хотелось бы увидеть урок про различный сахарок и как его настраивать (на уровне джуна). А особенно про Ctrl+клик и описания которые подсказывает сама IDE и SDK. Перерыл весь интернет мамой клянусь нет нигде этого.

  • @shohzodzet
    @shohzodzet ปีที่แล้ว

    Круто. Очень интересно, как детектив. Спасибо)

  • @user-jx8dh2de3e
    @user-jx8dh2de3e 3 ปีที่แล้ว

    Евгений, огромнейшее спасибо за ваш труд, это очень круто) Бонус вам в карму))

  • @Egor-gy9bj
    @Egor-gy9bj 2 ปีที่แล้ว

    Дядя Жень, голова закипела!)

  • @volga_code
    @volga_code 2 ปีที่แล้ว

    отлично объясняешь! )

  • @ahliyorshodiev1986
    @ahliyorshodiev1986 3 ปีที่แล้ว

    Спасибо за уроки очень помогли)

  • @romandg884
    @romandg884 3 ปีที่แล้ว

    спасибо вам! ) огромное

  • @temirlandzholdoshbekov555
    @temirlandzholdoshbekov555 5 หลายเดือนก่อน

    👍👍👍👍👍

  • @Anakin-fp2pf
    @Anakin-fp2pf 7 หลายเดือนก่อน

    Пока что не особо все понял но "пока что" изучу разные источники, получу больше опыта и вернусь еще раз

  • @user-lo5nm4ov8l
    @user-lo5nm4ov8l 2 ปีที่แล้ว +2

    Очень сильно на самом деле тяжело понять зачем такую точную калибровку элементов делать. Я к середине если честно отключился для чего все это нужно. Но спасибо, последний лейаут классный. Нарисовал им зигу из контейнеров (не знаю для чего еще пока применить) (не одобряем)

    • @LearnDartFlutter
      @LearnDartFlutter  2 ปีที่แล้ว +1

      Вообще я же сразу привел самый простой пример, выравнивание элементов как в appBar)

  • @DarDarbl4
    @DarDarbl4 3 ปีที่แล้ว +1

    Не воспринимай негативно, вопрос-совет может рассказывать сразу про более общие фундаментальные вещи, как ты делал в первых уроках, например сразу по месту рассказать что такое Делегат, ведь это понятие не встречалось ранее насколько я понял, и оно более широкое чем только Дарт/Флаттер. Ведь Delegate не просто так пишут, если знать суть понятия сразу станет ясно примерно что это и зачем по имени объекта)

    • @LearnDartFlutter
      @LearnDartFlutter  3 ปีที่แล้ว +1

      Но это просто название класса в данном случае)

    • @DarDarbl4
      @DarDarbl4 3 ปีที่แล้ว

      @@LearnDartFlutter Да, но название о чем то говорит не так ли? Про вопрос выбора имен что это сложная задача ты знаешь не по наслышке, правильных имен. Ок) You are the boss))

  • @user-ez2yf3yd3z
    @user-ez2yf3yd3z 2 ปีที่แล้ว

    OK!

  • @valerijt4344
    @valerijt4344 3 ปีที่แล้ว +2

    хороший разбор. спасибо!
    а будут видео про натягивание "бизнес-логики" на верстку?
    какой длинны планируется курс?

    • @LearnDartFlutter
      @LearnDartFlutter  3 ปีที่แล้ว +2

      конечно, как только с версткой разберёмся. Там будет много уроков, начиная от setState заканчивая всеми архитектурами)

    • @LearnDartFlutter
      @LearnDartFlutter  3 ปีที่แล้ว +2

      конечно будет и сеть и хранение данных и вот это вот все))

    • @valerijt4344
      @valerijt4344 3 ปีที่แล้ว

      @@LearnDartFlutter хороший план.
      Планируется ли работа с периферией (гиро, NfC, Bluetooth)?

    • @LearnDartFlutter
      @LearnDartFlutter  3 ปีที่แล้ว

      Не планировал, но возможно когда нибудь расскажу)

    • @valerijt4344
      @valerijt4344 3 ปีที่แล้ว

      @@LearnDartFlutter это уже тонкости)
      Сначала "учи базу до отказу"

  • @odnonoguypirat
    @odnonoguypirat 11 หลายเดือนก่อน

    45:21 почему HOffset а не XOffset? типо x y

  • @aleksandrsviridenko5079
    @aleksandrsviridenko5079 ปีที่แล้ว +1

    А почему нам нельзя вставить SizedBox вместо какого-то элемента тем самым на экране будет пусто? Просто ради такого пользоваться таким сложным виджетом , не очен ьпонятно зачем. Но вот некоторые вещи конечно интересные можно делать с ним.

    • @lucefan2816
      @lucefan2816 5 หลายเดือนก่อน

      Я не понял вообще зачем этот виджет без него можно сделать, очень сложный.

  • @faizulla5838
    @faizulla5838 2 ปีที่แล้ว

    Задача так и не решена, 27:20 разговор шел чтобы средний элемент остается по центру .... по ходу пьесы мы все таки согласились что это 49:23 тоже не плохо ... выходит не стоит этот огород городить, второй элемент будет все равно при всех способах смещен с центра... и не так как нас просили дизайнеры 26:34.
    3 урока за 1 день.... это просто жесть, мозг кипит )))

    • @LearnDartFlutter
      @LearnDartFlutter  2 ปีที่แล้ว

      я уже не помню точно что я там делал, но разве я не поставил центральный элемент по центру? со смещением если какая то надпись больше?

  • @faizulla5838
    @faizulla5838 2 ปีที่แล้ว +1

    21:12 извините, как Вы "проваливаетесь" в виджет? или какое сочетание клавиш? на андроидСтудио теже?

  • @hardway3595
    @hardway3595 3 ปีที่แล้ว

    Евгений здравствуйте, отличный контент!
    При помощи делегата определяется размер CustomMultiChildLayout. В методе getSize жёстко установлена высота 100. По ширине всё сделано хорошо и гибко, но при добавлении контента в колонки, расширение контейнера по высоте не происходит, и контент просто не отображается. Вопрос в том как сделать, чтобы при увеличении высоты child'ов увеличивалась и высота родительского виджета?

    • @LearnDartFlutter
      @LearnDartFlutter  3 ปีที่แล้ว

      Все так же, считать руками)

  • @khurshidddbek
    @khurshidddbek 2 ปีที่แล้ว

    37:20

  • @murodaliismailov2503
    @murodaliismailov2503 2 ปีที่แล้ว +1

    заливайте все коды в github please

  • @user-of8gj8ix6y
    @user-of8gj8ix6y 3 ปีที่แล้ว

    А про bloc планируются уроки?

    • @LearnDartFlutter
      @LearnDartFlutter  3 ปีที่แล้ว

      да)

    • @user-of8gj8ix6y
      @user-of8gj8ix6y 3 ปีที่แล้ว

      @@LearnDartFlutter но наверное ещё не скоро?)

    • @LearnDartFlutter
      @LearnDartFlutter  3 ปีที่แล้ว

      да, не скоро, сначала надо основы рассказать)

    • @user-of8gj8ix6y
      @user-of8gj8ix6y 3 ปีที่แล้ว

      @@LearnDartFlutter спасибо, буду ждать. Что то вообще не могу разобраться с ним, инфы мало как то

    • @LearnDartFlutter
      @LearnDartFlutter  3 ปีที่แล้ว

      вообще там есть целый сайт с докой и кучей примеров по блоку)

  • @atommixz
    @atommixz ปีที่แล้ว

    Если будете перезаписывать, то увеличьте шрифт, на мобилке не комфортно даже с зумом смотреть. И фон белый уберите отовсюду, в глаза лупит когда на ночь смотришь. И хрящами не щелкайте, вредная привычка и слышать это тоже не приятно. Варешку на одну руку наденьте на период отвыкания.
    В остальном спасибо.

  • @johnjohnson9119
    @johnjohnson9119 3 ปีที่แล้ว

    Спасибо, все прекрасно, в качестве пожелания - произносите пожалуйста правильно английские слова, а то когда слышу "алигмент" да "тигхт" просто бесится начинаю. Это же нетрудно послушать как они произносятся.

    • @LearnDartFlutter
      @LearnDartFlutter  3 ปีที่แล้ว

      спасибо за отзыв, но с английскими словами извини, я с ним не дружу) читать читаю, а произношу плохо) и улучшать эти навыки только ради хороших уроков не очень продуктивно(

    • @LearnDartFlutter
      @LearnDartFlutter  3 ปีที่แล้ว

      Но вообще если очень хочется, можешь мне в телеграмме писать, какие ошибки я допускаю в произношении, возможно и запомню))

    • @poteryal_trusy
      @poteryal_trusy 3 ปีที่แล้ว +1

      @@DartMitai обесценивание фидбека не принесет улучшений.
      На обеих сторонах если интересны улучшения, фидбека дайте и примите больше, йода говорит

    • @user-jx8dh2de3e
      @user-jx8dh2de3e 3 ปีที่แล้ว

      Евгений делает крутой контент, а ему за английский предъявляют :)

    • @TheAlasheev
      @TheAlasheev 3 ปีที่แล้ว

      @@user-jx8dh2de3e ну тхин (tight) реально мозг выносит)

  • @ekrem_qb
    @ekrem_qb 2 ปีที่แล้ว

    *Я новичок во Flutter, но к концу видео появилось ощущение, что автор и сам уже запутался в том, как и что хотел сделать изначально. Если кому-то нужно центрировать второй элемент, в независимости от размеров других элементов, то можно немного изменить метод performLayout() на что-то типа этого:*
    const minOtherElementWidth = 100;
    final middleElementMaxWidth = size.width - minOtherElementWidth;
    final middleElementSize = layoutChild(
    2,
    BoxConstraints.loose(Size(middleElementMaxWidth, size.height)),
    );
    var middleElementHOffset = size.width / 2 - middleElementSize.width / 2;
    final middleElementYOffset =
    size.height / 2 - middleElementSize.height / 2;
    positionChild(2, Offset(middleElementHOffset, middleElementYOffset));
    final leftElementMaxWidth = middleElementHOffset;
    final leftElementSize = layoutChild(
    1,
    BoxConstraints.loose(Size(leftElementMaxWidth, size.height)),
    );
    final leftElementYOffset = size.height / 2 - leftElementSize.height / 2;
    positionChild(1, Offset(0, leftElementYOffset));
    final rightElementMaxWidth =
    size.width - middleElementHOffset - middleElementSize.width;
    final rightElementSize = layoutChild(
    3,
    BoxConstraints.loose(Size(rightElementMaxWidth, size.height)),
    );
    final rightElementHOffset = size.width - rightElementSize.width;
    final rightElementYOffset = size.height / 2 - rightElementSize.height / 2;
    positionChild(3, Offset(rightElementHOffset, rightElementYOffset));

    • @slavadmitriev7302
      @slavadmitriev7302 2 ปีที่แล้ว

      Если изменить вторую строчку на final middleElementMaxWidth = size.width - minOtherElementWidth * 2.5; Будет выглядеть так, как и должно, ровно 33% каждому. При min = 100