Обзор возможностей ConstraintLayout

Поділитися
Вставка
  • Опубліковано 25 лип 2024
  • #AndroidBroadcast #ConstraintLayout
    Обзор возможностей самого мощного и гибкого layout в Android - ConstraintLayout
    🔗 Поддержать проект taplink.cc/android_broadcast/...
    🔗 Каналы "Android Broadcast" taplink.cc/android_broadcast
    🔗 Репозиторием с кодом из видео github.com/androidbroadcast/C...
    🔗 Документация ConstraintLayout bit.ly/37auBo1
    🔗 Тренинг по ConstraintLayout bit.ly/3b6oKB4
    🔗 Codelab по ConstraintLayout bit.ly/3af9UsS
    0:00 Вступление
    1:01 Постановка задачи
    2:00 Типы размеров в ConstraintLayout. match_constraint (0dp)
    5:23 Относительное расположение элементов, bias
    9:48 layout_margin, goneMargin
    11:55 Выравнивание View относительно другой View
    15:16 Barrier
    16:37 Flow: размещение виджетов с автоматическим переносом
    22:26 Chain - аналог LinerLayout, предок Flow
    25:19 Guideline - виртуальные линии
    27:27 Group - группировка виджетов
    29:23 Заключение

КОМЕНТАРІ • 178

  • @AndroidBroadcast
    @AndroidBroadcast  3 роки тому +5

    💰 Поддержать проект bit.ly/3sratqQ
    📰 Android Broadcast Telegram ttttt.me/android_broadcast
    📰 Kotlin Broadcast Telegram ttttt.me/kotlin_broadcast

  • @mukhtarbimurat5106
    @mukhtarbimurat5106 3 роки тому +91

    Очень крутой формат, теперь нужно custom view

  • @sergeycherednichenko301
    @sergeycherednichenko301 3 роки тому +20

    Красавчик, никогда раньше не юзал барьер вообще, очень полезно как оказалось

  • @randomcommentator
    @randomcommentator 3 роки тому +11

    Это видео мне прямо глаза открыло на ConstraintLayout. Я, как новичок, в основном linear и relative использовал до этого :)

  • @loleckek2284
    @loleckek2284 3 роки тому +12

    Очень информативный выпуск, узнал много нового, спасибо. На ролике с собесом ты сказал что-то вроде по поводу ui, что неопытный накидает несколько лэйаутов, а не сделает всё в один уровень, что-то подобноее, могу ошибаться, было бы вообще классно узнать побольше о том как правильно верстать и хорошие практики

  • @kafychannel
    @kafychannel Рік тому +1

    давно хотел посмотреть, много интересного встретил, надеюсь буду юзать это на работе, thx! :))

  • @kovalzk1
    @kovalzk1 3 роки тому +12

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

  • @sergeykharuk5614
    @sergeykharuk5614 3 роки тому +2

    да, походу это лучший формат канале. Давай дальше о CustomView. Потом о Сustom ViewGroup. А потом о Custom Layout Manager для RecyclerView ))) спасбо)

  • @maksbragin
    @maksbragin 3 роки тому +3

    Это было шикарно!!! Срочно видео такого характера про Recycler!!!

  • @user-jo4pu2tg3w
    @user-jo4pu2tg3w 3 роки тому +1

    Спасибо. Отличный формат видео. Побольше таких.

  • @zmeytee
    @zmeytee 3 роки тому +1

    Формат супер, спасибо. Коротко, понятно и наглядно

  • @Maribobah81
    @Maribobah81 3 роки тому +1

    Супер, большое спасибо. Хотелось бы побольше такого, например про CardView

  • @valeryklachkov7062
    @valeryklachkov7062 3 роки тому +12

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

  • @heroachilles
    @heroachilles 2 роки тому +1

    Формат просто то что надо!!!!! Спасибо!

  • @05Sambist
    @05Sambist 3 роки тому +4

    спасибо большое! очень полезная инфа!

  • @trunker2010
    @trunker2010 3 роки тому +1

    Спасибо, очень полезно) нашел ответы на многие вопросы

  • @user-sankarsana
    @user-sankarsana 3 роки тому

    Ух, сколько нового узнал! Спасибо.
    Новый формат - огонь.

    • @AndroidBroadcast
      @AndroidBroadcast  3 роки тому

      Спасибо! Такого будет больше в будущем

  • @user-qw6qn5rj9p
    @user-qw6qn5rj9p Рік тому

    Спасибо, хороший материал и подача! Респект Кириллу и команде.

  • @yaroslav_kior
    @yaroslav_kior Рік тому

    Это лучший видос по Constraint Layout! Спасибо

  • @maxbury990
    @maxbury990 2 роки тому

    Для меня было очень полезно и познавательно! Огромное тебе спасибо!

  • @franciskodaskonia
    @franciskodaskonia Рік тому

    Крутой гайд, многих вещей нигде не видел, очень полезные штуки!

  • @ozodsaidov7427
    @ozodsaidov7427 3 роки тому +1

    Четко и ясно. Спасибо!

  • @sergeyjoke
    @sergeyjoke Рік тому

    Все четко и понятно. Спасибо.

  • @elenasharpilova6616
    @elenasharpilova6616 3 роки тому +1

    Шикарно! Благодарю.

  • @jamesalexander1062
    @jamesalexander1062 3 роки тому

    супер! большое спасибо за детальный обзор

  • @alexpodshivalov1010
    @alexpodshivalov1010 2 роки тому

    Узнал кое-что новое, например про Flow. Спасибо за вашу работу

  • @user-jg4pk6bq2g
    @user-jg4pk6bq2g 3 роки тому +1

    Крутое видео! Можно использовать как руководство по применению)

  • @user-fq8dj3vz2l
    @user-fq8dj3vz2l 2 роки тому

    Вау. Спасибо, брат. Только изучаю Андроид - и увидел много полезного, а главное: все просто и доступно, нормальным человеческим языком.

  • @ancient-raccoon
    @ancient-raccoon 3 роки тому +1

    спасибо тебе Человек!!! очень доступно!)

  • @_ronix_
    @_ronix_ 3 роки тому

    Спасибо за инфу, отличный выпуск, узнал несколько новым моментов) 👍

  • @user-ik1fj7qc2o
    @user-ik1fj7qc2o 3 роки тому +1

    Классный урок,было бы круто подобное по теме тестирования сделать

  • @ProgBoost
    @ProgBoost Рік тому

    Большое спасибо за видео! Очень полезно✅

  • @user-fo8zl2xw6z
    @user-fo8zl2xw6z 2 роки тому

    Спасибо за видео. Очень полезно

  • @user-cs4dl3kk8r
    @user-cs4dl3kk8r 3 роки тому +1

    Круто очень , спасибо !

  • @user-zw5ps7jz2y
    @user-zw5ps7jz2y 2 роки тому

    Супер! Спасибо.

  • @DmitryKatsubo
    @DmitryKatsubo 3 роки тому

    спасибо! очень доступно все разжевал )

  • @albinapavlenko9924
    @albinapavlenko9924 Рік тому

    Большое спасибо за видео, очень полезно. Даже новичку все понятно 🙃

  • @geroin2012
    @geroin2012 7 місяців тому

    Я готов несколько лайков этому видео поставить!! Настолько часто я к нему обращаюсь) спасибо

  • @user-gx8kb7hj5l
    @user-gx8kb7hj5l 3 роки тому

    Очень полезное видео, спасибо!

  • @andrewzakharov1352
    @andrewzakharov1352 3 роки тому

    Спасибо. Сделал пару открытий для себя

  • @akvadecor
    @akvadecor Рік тому

    Спасибо, очень полезная информация

  • @agentr227
    @agentr227 3 роки тому +3

    Ждём видео на тему MotionLayout 😊

  • @handleftman
    @handleftman 3 роки тому

    спасибо за видео, узнал , как джун что-то новое для себя. но что-то конечно придётся дочитывать и искать дополнительно для более глубокого погружения

  • @IT_business_in_Russia
    @IT_business_in_Russia 3 роки тому

    Супер полезно, спасибо!!

  • @oleksiizaitsev8809
    @oleksiizaitsev8809 3 роки тому

    Браво, очень полезное видео получилось

  • @MsNikitoSz
    @MsNikitoSz 3 роки тому +2

    Спасибо, полезно! Действительно таких видео бы побольше, потому что вот вроде бы работаешь с констрейнт лайаут, а оказывается столько тонкостей ещё

    • @AndroidBroadcast
      @AndroidBroadcast  3 роки тому

      Много получилось для себя найти нового?

    • @MsNikitoSz
      @MsNikitoSz 3 роки тому +2

      @@AndroidBroadcast бейз лайны знал, но как-то активно не юзал (забываю постоянно), а вот всё что связано с динамикой вьюшек (constraint gone параметры) было прям открытием)

  • @KO7MO7
    @KO7MO7 3 роки тому +1

    Думал включу, чтобы на фоне что-то играло пока ем, а потом стало так интересно, что поесть забыл

    • @AndroidBroadcast
      @AndroidBroadcast  3 роки тому +2

      Да, ConstraintLayout + Android Broadcast - это хорошая пища для мозга 💪

  • @KabukiWarrior369
    @KabukiWarrior369 3 роки тому

    очень круто, спасибо!

  • @audiserg
    @audiserg 3 роки тому +1

    Супер! Не знал про flow. С chain неочевидный момент, что стиль надо прописывать в первом элементе.

  • @user-hl3br5qi6f
    @user-hl3br5qi6f 3 роки тому +4

    Как мне кажется, то на просторах рунета не хватает такого качественного и понятного контента про андроид разработку. Если бы ты какие-то курсы выпустил, я даже подумал бы о покупке такого курса.

    • @AndroidBroadcast
      @AndroidBroadcast  3 роки тому +2

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

  • @stefanserkhir6478
    @stefanserkhir6478 3 роки тому +1

    Прям очень понравилось видео! Надеюсь, будешь выпускать подобные видео про какие-либо другие штуки в Андроиде:)

    • @AndroidBroadcast
      @AndroidBroadcast  3 роки тому

      Конечно буду, дайте время устаканиться

  • @oleg12395
    @oleg12395 2 роки тому

    Очень годный видос , второй раз прохожу

  • @d.mertsalov
    @d.mertsalov 3 роки тому +1

    Спасибо!

  • @Architect_Mobile
    @Architect_Mobile 2 роки тому

    Спасибо 👍🏻

  • @thunderdoge
    @thunderdoge 3 роки тому +4

    Было бы круто про разные подходы к анимации в таком же формате сделать

  • @mihailkrysan1275
    @mihailkrysan1275 2 роки тому

    Очень годный контент, с меня лайк!

  • @ayazka5248
    @ayazka5248 3 роки тому

    Класс, так держать!

  • @andrexer77
    @andrexer77 3 роки тому

    Спасибо! Лайк, подписка, рекомендация друзьям!

  • @Majjabee-np9nq
    @Majjabee-np9nq 3 роки тому

    Кирилл спасибо! Ты крут!

  • @SuperMarkwel
    @SuperMarkwel 3 роки тому +1

    топчик, спасибо

  • @hueynews7489
    @hueynews7489 8 місяців тому

    Ля ты пухляш был два года назад. Молодец, что работаешь над собой! Я посмотрев видео, пришёл к выводу, что к пониманию того, о чём ты говоришь сегодня, я приду спустя то время, что ты шёл по своему пути в истории видеороликов ;) Короче еще не скоро :D

  • @oralbeksapar3299
    @oralbeksapar3299 3 роки тому

    очень круто!

  • @user-fo7jg5vt4c
    @user-fo7jg5vt4c 3 роки тому

    Очень крутое видео!

  • @belof
    @belof 3 роки тому +1

    Hello from Germany! Nice Video!

  • @user-bn6ck9tm5y
    @user-bn6ck9tm5y 3 роки тому +2

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

  • @Alex-eu1os
    @Alex-eu1os 3 роки тому +2

    Круто! Можно так освещать технологии и показывать какие-то юзкейсы. Только технологий многовато))

    • @AndroidBroadcast
      @AndroidBroadcast  3 роки тому

      Почему многовато? Выпуск четко по одному Layout. Разбирать каждую фичу было бы очень уж атомарно

    • @Alex-eu1os
      @Alex-eu1os 3 роки тому

      Я был бы только за если будешь рассказывать про разные технологии, используемые в разработке. Я это имел ввиду. Так да, всё классно по делу! Спасибо

    • @AndroidBroadcast
      @AndroidBroadcast  3 роки тому +2

      Не так смысл прочитал. То что технологий много - это хорошо. Всегда есть по чём делать контент

  • @torskandinav4634
    @torskandinav4634 3 роки тому +1

    воо новый формат крутой

  • @user-iv4gm8vt7f
    @user-iv4gm8vt7f 2 роки тому

    Круто

  • @evaristegalois450
    @evaristegalois450 3 роки тому

    отлично

  • @MxMayers
    @MxMayers 3 роки тому +1

    Нереальное видео! Так сжато, по делу и без воды я еще не видел!) все супер, а как быть с ID актерами 19:28 ведь по идеи они должны прилетать динамически? задавать их программно?

    • @AndroidBroadcast
      @AndroidBroadcast  3 роки тому +2

      На самом деле тут будет лучше использовать RecyclerView. Пример с актерами был показан как демонстрации возможности ConstraintLayout

  • @rysnurlanov8012
    @rysnurlanov8012 3 роки тому +2

    Ты лучший 🤘🤘🤘

  • @NikolayBychinin
    @NikolayBychinin 3 роки тому

    Очень классно, спасибо. Расскажи про garbadge collectors

    • @AndroidBroadcast
      @AndroidBroadcast  3 роки тому

      Не думаю что такое в обозримом будущем появится на канале. На эту тему рекомендую посмотреть доклад от Chet Haase ua-cam.com/video/pMZmDBwjQvQ/v-deo.html

  • @user-ok9tp5lx6n
    @user-ok9tp5lx6n Рік тому

    еще побольше тотуриалов спасибо

  • @ki16or
    @ki16or 3 роки тому +1

    goneMargin и Flow было новым.
    А про group могу сказать, что если нужно будет работать в невидимостью с отдельными вьюхами внутри группы, то не получится. видизибили группы имеет приоритет.

  • @volodymyrmedvediev2628
    @volodymyrmedvediev2628 3 роки тому +1

    Супер полезное видео! Спасибо! Подскажи плз, как покрасить теги вьюшек как у тебя?

    • @AndroidBroadcast
      @AndroidBroadcast  3 роки тому +1

      Наверное ты о плагине plugins.jetbrains.com/plugin/10080-rainbow-brackets

  • @sevenxp8858
    @sevenxp8858 3 роки тому

    О хотел как раз узнать подробнее про констрейнт и тут коротко о главном))) Некоторые вещи для себя подчеркнул.
    Но с отступами, я бы не создавал группу для отступов, что то подсказывает, что обычный marginStart отработает быстрее Guideline если я ошибаюсь, то был бы рад узнать об этом, гуглить влом xD
    Но по логике это привязка + все равно остается Margin 0, - привязка и все. А для этих целей завожу base_margin = 16dp

  • @monkas2738
    @monkas2738 3 роки тому

    отличное видео, только заставка громкая
    на 3:37 ты говоришь что нужно обязательно указать горизонтальный констрейнт, но разве есть в этом смысл если ширина view на весь parent? имеет ли это какое то значение сейчас, или это просто на случай если нужно будет что доделывать? чем match_constraint 0dp лучше match_parent в случае если мне надо вью растянуть с начала до конца parent?

    • @AndroidBroadcast
      @AndroidBroadcast  3 роки тому +2

      Указание constraint не является жестким требованием, но не использовать match_parent и указывать горизонтальный и вертикальный constraint избавит вас от ошибок, на которые я и другие разработчики успели убить в свое время по несколько часов своей работы.

  • @user-cg8bv6xh6x
    @user-cg8bv6xh6x 3 роки тому

    Было бы неплохо снять видео по анимациям, material motion и все такое

  • @ivanchepelkin6347
    @ivanchepelkin6347 3 роки тому

    Отличное видео, спасибо! Подскажите, в чем основная разница между контсрэйнтами left и start, end и right?

    • @AndroidBroadcast
      @AndroidBroadcast  3 роки тому +1

      Это поддержка Right to Left - языков где написание происходит ни как в русском слева направо, а наоборот.
      Left, right будут всегда размещаться слева и справа соответственно, независимо от правил написания в локале. А вот start, end будут реагировать и менять расположение элементов UI
      Рекомендуется использовать именно start, end везде: отступы, паддинги, размещение, картинки и прочее

  • @MrKizup
    @MrKizup 3 роки тому

    Классное видео, спасибо. Можно ещё добавить, что эти операции можно выполнять во вкладке Design, не всегда это удобно и понятно, но например перетащить constraint к границе экрана можно.
    Также ещё по своему опыту знаю, что не все знают основные хоткеи в студии, а в видео часто они используются. В свое время на столе лежала распечатанная таблица от Jetbrains. Вот тут можно скачать pdf под все OS
    resources.jetbrains.com/storage/products/intellij-idea/docs/IntelliJIDEA_ReferenceCard.pdf

    • @AndroidBroadcast
      @AndroidBroadcast  3 роки тому +1

      Я думал сделать отдельно видео про design editor если оно имеет востребованность

    • @MrKizup
      @MrKizup 3 роки тому

      @@AndroidBroadcast этот редактор странная штука. Вроде задумка неплохая, но xml намного нагляднее описывать

    • @user-oi3sk5gn9y
      @user-oi3sk5gn9y 2 роки тому

      Я так и не разобрался как это делать в режиме design.

    • @user-oi3sk5gn9y
      @user-oi3sk5gn9y 2 роки тому

      @@AndroidBroadcast было бы неплохо

  • @user-oc7py1vy6s
    @user-oc7py1vy6s 3 роки тому +1

    Знал и использовал все фишки из видео.
    Не упомянули в видео про возможность задавать соотношение сторон у view в constraint layout'e и возможность располагать view под углом относительно друг друга.

    • @AndroidBroadcast
      @AndroidBroadcast  3 роки тому

      Расположение под углом очень спорная возможность. Разве что для анимаций нужна, а вот про соотношение сторон тут согласен, стоило упомянуть.

  • @aratj
    @aratj 3 роки тому +3

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

    • @AndroidBroadcast
      @AndroidBroadcast  3 роки тому +3

      Согласен. В следующей раз буду все писать по правильному.

  • @user-fo7jg5vt4c
    @user-fo7jg5vt4c 3 роки тому

    Ещё интересна тема о профайлере

  • @Yank_Main
    @Yank_Main 2 роки тому

    про motionlayout пожалуйста )

  • @artemsidorov8116
    @artemsidorov8116 3 роки тому

    Можно ли во flow программно добавлять элементы? (например есть список актеров и хотим его засунуть во флоу)

    • @AndroidBroadcast
      @AndroidBroadcast  3 роки тому +2

      Да, все это редактируется через код. Туда добавляются id view, но лучше будет взять RecyclerView

  • @24Mrnobody
    @24Mrnobody Рік тому

    Спасибо за видео, очень полезно. Возник вопрос, можно ли в коде динамически добавлять во flow_helper объекты типа view?

    • @AndroidBroadcast
      @AndroidBroadcast  Рік тому

      Я не нашел такого API, но возможно стоит лучше покапаться

    • @24Mrnobody
      @24Mrnobody Рік тому

      @@AndroidBroadcast я вроде нашел кейс, буду тестировать)

    • @AndroidBroadcast
      @AndroidBroadcast  Рік тому

      Будет хорошо если поделишься, но ссылки забанит

  • @olegsheliakin2041
    @olegsheliakin2041 2 роки тому

    Отличное видео с хорошими примерами.
    Единственное хотелось бы поправить, что baseline не только у TextView, а у View класса. То есть любое View можно выравнивать по baseline. У View есть метод на строке c небольшим номером №25341 - getBaseline().

    • @AndroidBroadcast
      @AndroidBroadcast  2 роки тому

      Насколько я знал это всегда касательно только TextView применялось

  • @duoduoo6732
    @duoduoo6732 19 днів тому

    если всегда использовать recyclerview норм? ведь только он поддерживает адаптеры

  • @yurii_s_m_25
    @yurii_s_m_25 3 роки тому +1

    Дуже дякую з відео. Багато дізнався, чого не знав.

  • @antonlazarchenko2078
    @antonlazarchenko2078 3 роки тому

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

    • @AndroidBroadcast
      @AndroidBroadcast  3 роки тому +1

      Дизайн экрана не задумывался под альбомную ориентацию. Я его бы поменял, так как иначе оставлять много пустого места.

  • @Alex-qz1dj
    @Alex-qz1dj 3 роки тому

    Хотелось бы увидеть какой-нибудь макет посложнее в формате LiveCoding.
    Видео очень кстате)

    • @AndroidBroadcast
      @AndroidBroadcast  3 роки тому

      Я выбрал такой макет, чтобы продемонстрировать на нём все возможности и сделать это компактно по времени. Боюсь с более сложным layout мог убить много времени и все бы превратилось в кашу.

    • @Alex-qz1dj
      @Alex-qz1dj 3 роки тому

      @@AndroidBroadcast Так и было бы, это скорее как предложение на продолжение темы)

  • @user-cq2fv3zv5k
    @user-cq2fv3zv5k 3 роки тому +1

    Правильно ли говорят, если в Constraint Layout использовать другие вью группы (к примеру Linear Layout и т.д.), то это отрицательно влияет на производительность прилы?

    • @AndroidBroadcast
      @AndroidBroadcast  3 роки тому +1

      Вложенные layout всегда негативно влияют на производительность UI, но я допускаю что есть исключения, когда это может быть по другому

    • @aratj
      @aratj 3 роки тому

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

  • @layoor
    @layoor 3 роки тому

    Здравствуй, проходил стажировку по андройду и там говорили что bias не надо добавлять, а лучше избегать их. Как ты относишься к этому?

    • @AndroidBroadcast
      @AndroidBroadcast  3 роки тому +1

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

  • @MazdaDoc
    @MazdaDoc 3 роки тому

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

    • @AndroidBroadcast
      @AndroidBroadcast  3 роки тому +2

      Я говорил что это пример для демонстрации возможности. В реальной задаче лучше использовать RecyclerView, но если количество актеров на экране фиксированное то вполне можно и добавить все эти View динамически. RecyclerView лучше использовать при очень большом количестве элементов либо когда они тяжелые и нужно их переиспользовать.

  • @user-bm9qd6lj6v
    @user-bm9qd6lj6v 3 роки тому +1

    Вопрос (в начале 7-й минуты примерно): почему, когда указываешь относительно какого объекта размещаться (типа app:layout_constraintEnd_toEndOf="@id/banner"), Студия по умолчанию предлагает влепить плюс между @ и id и почему его оставлять там опасно? Чем именно опасно, ведь с плюсом тоже работает?

    • @september669
      @september669 3 роки тому

      Попробуй удалить такую вью и посмотри, что получится

    • @AndroidBroadcast
      @AndroidBroadcast  3 роки тому +2

      + в id это значит его создание. Т.е. ты можешь ссылаться на View, который олько что создал.

  • @user-rw8zs7vz9u
    @user-rw8zs7vz9u Рік тому

    Есть ли курсы строго по верстке приложений на XML, как в данном видео?

    • @AndroidBroadcast
      @AndroidBroadcast  Рік тому

      Не знаю таких, да и обычных немного знаю

  • @apbuzzz
    @apbuzzz 3 роки тому

    Почему 0dp лучше чем match_parent? Поидее layout_constraintStart_toStartOf="parent" и match_parent должен делать тоже самое, нет?

    • @AndroidBroadcast
      @AndroidBroadcast  3 роки тому +1

      Это разные значения. В видео я объяснил как это меняет поведение.

  • @bolnoi8
    @bolnoi8 3 роки тому

    Интересный подход с Flow, странно что он не работает как ViewGroup, т.е. вьюшки находятся рядом, а не в нём. Не сбивает ли это с толку? Видим вьюшку в xml, а правил размещения у нее нет, т.к. за это отвечает Flow. Что насчёт best практик в этом случае? Сначала flow, а следом вьюхи которые он содержит или наоборот?
    Ещё не нравится ConstraintLayout из-за необходимости иметь id, которые нужны только для позиционирования других вьюх, в итоге если на экране много TextView, которые не нужны в коде, получаем textView1, textView2, textViewN. Тут ещё стоит вспомнить про особенность студии, когда при попытке рефакторинга id вьюхи в одном xml, он меняется во всех.
    ИМХО стоит добавить псевдо id, который виден в разметке, но недоступен в коде, в т.ч. в ViewBinding.

    • @AndroidBroadcast
      @AndroidBroadcast  3 роки тому +1

      Если бы во Flow можно было вкладывать другие View, он бы стал ViewGroup и мы бы получили вложенность с которой ConstraintLayout призван бороться.

    • @AndroidBroadcast
      @AndroidBroadcast  3 роки тому +1

      По поводу расположения Flow в XML интересный вопрос. Я не задумывался.

    • @bolnoi8
      @bolnoi8 3 роки тому

      @@AndroidBroadcast Добавление Актёров наверно лучше сделать через какой-нибудь лист с адаптером, т.к. в коде будет некрасиво: создай view, вставь LayoutParams, сделай generateId(), добавь view сначала в layout, а уже потом во Flow.
      Это в целом и так понятно, ведь основная цель видео показать возможности contraintLayout, но стало интересно, как решить эту задачу правильно? Я джун и мне в голову ничего кроме RecycleView со своим layoutManager'ом не пришло. Но сам recycling нам вроде бы не нужен...

  • @user-qr5iw3zr4q
    @user-qr5iw3zr4q 2 роки тому

    Сколько стоит заказать разметку?

  • @user-ju6td3un1n
    @user-ju6td3un1n 3 роки тому

    Использование Flow для списка актеров очень спорный момент, количество может быть разным, а добавить туда view в коде, тот еще костыль.

    • @AndroidBroadcast
      @AndroidBroadcast  3 роки тому +1

      Насколько помню, прямо в видео я говорил что на практике так делать не стоит. Flow использовался для демонстрации фичи

    • @user-ju6td3un1n
      @user-ju6td3un1n 3 роки тому +1

      @@AndroidBroadcast аа ну сорри, не услышал, я просто ни разу им не пользовался, а после просмотра решил поиграть с ним иии так и не придумал, где бы я его смог использовать))) Кстати FlexboxLayout делает то же самое и даже с теми же самыми параметрами, только он при этом полноценный Layout.. ```implementation 'com.google.android:flexbox:2.0.1'```