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

  Рет қаралды 42,297

Android Broadcast. Все об Андроид разработке

Android Broadcast. Все об Андроид разработке

Күн бұрын

#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 Заключение

Пікірлер: 177
@AndroidBroadcast
@AndroidBroadcast 3 жыл бұрын
💰 Поддержать проект bit.ly/3sratqQ 📰 Android Broadcast Telegram ttttt.me/android_broadcast 📰 Kotlin Broadcast Telegram ttttt.me/kotlin_broadcast
@mukhtarbimurat5106
@mukhtarbimurat5106 3 жыл бұрын
Очень крутой формат, теперь нужно custom view
@mikemoore7418
@mikemoore7418 3 жыл бұрын
+1
@randomcommentator
@randomcommentator 3 жыл бұрын
Это видео мне прямо глаза открыло на ConstraintLayout. Я, как новичок, в основном linear и relative использовал до этого :)
@sergeycherednichenko301
@sergeycherednichenko301 3 жыл бұрын
Красавчик, никогда раньше не юзал барьер вообще, очень полезно как оказалось
@sergeykharuk5614
@sergeykharuk5614 3 жыл бұрын
да, походу это лучший формат канале. Давай дальше о CustomView. Потом о Сustom ViewGroup. А потом о Custom Layout Manager для RecyclerView ))) спасбо)
@kafychannel
@kafychannel Жыл бұрын
давно хотел посмотреть, много интересного встретил, надеюсь буду юзать это на работе, thx! :))
@loleckek2284
@loleckek2284 3 жыл бұрын
Очень информативный выпуск, узнал много нового, спасибо. На ролике с собесом ты сказал что-то вроде по поводу ui, что неопытный накидает несколько лэйаутов, а не сделает всё в один уровень, что-то подобноее, могу ошибаться, было бы вообще классно узнать побольше о том как правильно верстать и хорошие практики
@sergeyjoke
@sergeyjoke Жыл бұрын
Все четко и понятно. Спасибо.
@user-jo4pu2tg3w
@user-jo4pu2tg3w 3 жыл бұрын
Спасибо. Отличный формат видео. Побольше таких.
@kovalzk1
@kovalzk1 3 жыл бұрын
очень полезное видео было, спасибоо) хотелось поставить больше, чем один лайк. Хоть я и считаю себя относительно опытным разработчиком, но узнал для себя море нового
@maksbragin
@maksbragin 3 жыл бұрын
Это было шикарно!!! Срочно видео такого характера про Recycler!!!
@zmeytee
@zmeytee 3 жыл бұрын
Формат супер, спасибо. Коротко, понятно и наглядно
@geroin2012
@geroin2012 6 ай бұрын
Я готов несколько лайков этому видео поставить!! Настолько часто я к нему обращаюсь) спасибо
@ozodsaidov7427
@ozodsaidov7427 3 жыл бұрын
Четко и ясно. Спасибо!
@heroachilles
@heroachilles 2 жыл бұрын
Формат просто то что надо!!!!! Спасибо!
@ProgBoost
@ProgBoost Жыл бұрын
Большое спасибо за видео! Очень полезно✅
@alexpodshivalov1010
@alexpodshivalov1010 2 жыл бұрын
Узнал кое-что новое, например про Flow. Спасибо за вашу работу
@Maribobah81
@Maribobah81 3 жыл бұрын
Супер, большое спасибо. Хотелось бы побольше такого, например про CardView
@user-zw5ps7jz2y
@user-zw5ps7jz2y 2 жыл бұрын
Супер! Спасибо.
@elenasharpilova6616
@elenasharpilova6616 3 жыл бұрын
Шикарно! Благодарю.
@yaroslav_kior
@yaroslav_kior Жыл бұрын
Это лучший видос по Constraint Layout! Спасибо
@ancient-raccoon
@ancient-raccoon 3 жыл бұрын
спасибо тебе Человек!!! очень доступно!)
@05Sambist
@05Sambist 3 жыл бұрын
спасибо большое! очень полезная инфа!
@user-qu6mb9il6w
@user-qu6mb9il6w 3 жыл бұрын
Ух, сколько нового узнал! Спасибо. Новый формат - огонь.
@AndroidBroadcast
@AndroidBroadcast 3 жыл бұрын
Спасибо! Такого будет больше в будущем
@trunker2010
@trunker2010 3 жыл бұрын
Спасибо, очень полезно) нашел ответы на многие вопросы
@maxbury990
@maxbury990 2 жыл бұрын
Для меня было очень полезно и познавательно! Огромное тебе спасибо!
@user-qw6qn5rj9p
@user-qw6qn5rj9p Жыл бұрын
Спасибо, хороший материал и подача! Респект Кириллу и команде.
@franciskodaskonia
@franciskodaskonia Жыл бұрын
Крутой гайд, многих вещей нигде не видел, очень полезные штуки!
@akvadecor
@akvadecor Жыл бұрын
Спасибо, очень полезная информация
@user-cs4dl3kk8r
@user-cs4dl3kk8r 3 жыл бұрын
Круто очень , спасибо !
@jamesalexander1062
@jamesalexander1062 3 жыл бұрын
супер! большое спасибо за детальный обзор
@user-fo8zl2xw6z
@user-fo8zl2xw6z 2 жыл бұрын
Спасибо за видео. Очень полезно
@valeryklachkov7062
@valeryklachkov7062 3 жыл бұрын
Спасибо за видео! Хорошая подача, кратко и по делу по основному функционалу. В будущем хотелось бы увидеть уроки по оптимизации «тяжелых» списков, например, ленты социальной сети. И отдельно пожелание на урок по анимациям. Сейчас разбираться с ними очень неудобно, много частностей и классов для этого
@AndroidBroadcast
@AndroidBroadcast 3 жыл бұрын
Принято!
@user-gx8kb7hj5l
@user-gx8kb7hj5l 3 жыл бұрын
Очень полезное видео, спасибо!
@DmitryKatsubo
@DmitryKatsubo 3 жыл бұрын
спасибо! очень доступно все разжевал )
@IT_business_in_Russia
@IT_business_in_Russia 3 жыл бұрын
Супер полезно, спасибо!!
@_ronix_
@_ronix_ 3 жыл бұрын
Спасибо за инфу, отличный выпуск, узнал несколько новым моментов) 👍
@user-jg4pk6bq2g
@user-jg4pk6bq2g 3 жыл бұрын
Крутое видео! Можно использовать как руководство по применению)
@andrewzakharov1352
@andrewzakharov1352 3 жыл бұрын
Спасибо. Сделал пару открытий для себя
@user-ik1fj7qc2o
@user-ik1fj7qc2o 3 жыл бұрын
Классный урок,было бы круто подобное по теме тестирования сделать
@albinapavlenko9924
@albinapavlenko9924 Жыл бұрын
Большое спасибо за видео, очень полезно. Даже новичку все понятно 🙃
@user-fq8dj3vz2l
@user-fq8dj3vz2l 2 жыл бұрын
Вау. Спасибо, брат. Только изучаю Андроид - и увидел много полезного, а главное: все просто и доступно, нормальным человеческим языком.
@MsNikitoSz
@MsNikitoSz 3 жыл бұрын
Спасибо, полезно! Действительно таких видео бы побольше, потому что вот вроде бы работаешь с констрейнт лайаут, а оказывается столько тонкостей ещё
@AndroidBroadcast
@AndroidBroadcast 3 жыл бұрын
Много получилось для себя найти нового?
@MsNikitoSz
@MsNikitoSz 3 жыл бұрын
@@AndroidBroadcast бейз лайны знал, но как-то активно не юзал (забываю постоянно), а вот всё что связано с динамикой вьюшек (constraint gone параметры) было прям открытием)
@oleksiizaitsev8809
@oleksiizaitsev8809 3 жыл бұрын
Браво, очень полезное видео получилось
@KabukiWarrior369
@KabukiWarrior369 3 жыл бұрын
очень круто, спасибо!
@d.mertsalov
@d.mertsalov 3 жыл бұрын
Спасибо!
@agentr227
@agentr227 3 жыл бұрын
Ждём видео на тему MotionLayout 😊
@ayazka5248
@ayazka5248 3 жыл бұрын
Класс, так держать!
@Architect_Mobile
@Architect_Mobile 2 жыл бұрын
Спасибо 👍🏻
@SuperMarkwel
@SuperMarkwel 3 жыл бұрын
топчик, спасибо
@KO7MO7
@KO7MO7 3 жыл бұрын
Думал включу, чтобы на фоне что-то играло пока ем, а потом стало так интересно, что поесть забыл
@AndroidBroadcast
@AndroidBroadcast 3 жыл бұрын
Да, ConstraintLayout + Android Broadcast - это хорошая пища для мозга 💪
@user-hl3br5qi6f
@user-hl3br5qi6f 3 жыл бұрын
Как мне кажется, то на просторах рунета не хватает такого качественного и понятного контента про андроид разработку. Если бы ты какие-то курсы выпустил, я даже подумал бы о покупке такого курса.
@AndroidBroadcast
@AndroidBroadcast 3 жыл бұрын
Спасибо. Я буду выпускать серию видео на канале, к которым можно будет получать доступ значительно раньше других. Все это происходит через донаты на Boosty (ссылочка в описании)
@hueynews7489
@hueynews7489 7 ай бұрын
Ля ты пухляш был два года назад. Молодец, что работаешь над собой! Я посмотрев видео, пришёл к выводу, что к пониманию того, о чём ты говоришь сегодня, я приду спустя то время, что ты шёл по своему пути в истории видеороликов ;) Короче еще не скоро :D
@oleg12395
@oleg12395 2 жыл бұрын
Очень годный видос , второй раз прохожу
@oralbeksapar3299
@oralbeksapar3299 3 жыл бұрын
очень круто!
@handleftman
@handleftman 3 жыл бұрын
спасибо за видео, узнал , как джун что-то новое для себя. но что-то конечно придётся дочитывать и искать дополнительно для более глубокого погружения
@Majjabee-np9nq
@Majjabee-np9nq 3 жыл бұрын
Кирилл спасибо! Ты крут!
@andrexer77
@andrexer77 3 жыл бұрын
Спасибо! Лайк, подписка, рекомендация друзьям!
@belof
@belof 3 жыл бұрын
Hello from Germany! Nice Video!
@user-fo7jg5vt4c
@user-fo7jg5vt4c 3 жыл бұрын
Очень крутое видео!
@mihailkrysan1275
@mihailkrysan1275 2 жыл бұрын
Очень годный контент, с меня лайк!
@audiserg
@audiserg 3 жыл бұрын
Супер! Не знал про flow. С chain неочевидный момент, что стиль надо прописывать в первом элементе.
@user-iv4gm8vt7f
@user-iv4gm8vt7f 2 жыл бұрын
Круто
@torskandinav4634
@torskandinav4634 3 жыл бұрын
воо новый формат крутой
@stefanserkhir6478
@stefanserkhir6478 3 жыл бұрын
Прям очень понравилось видео! Надеюсь, будешь выпускать подобные видео про какие-либо другие штуки в Андроиде:)
@AndroidBroadcast
@AndroidBroadcast 3 жыл бұрын
Конечно буду, дайте время устаканиться
@thunderdoge
@thunderdoge 3 жыл бұрын
Было бы круто про разные подходы к анимации в таком же формате сделать
@evaristegalois450
@evaristegalois450 3 жыл бұрын
отлично
@Alex-eu1os
@Alex-eu1os 3 жыл бұрын
Круто! Можно так освещать технологии и показывать какие-то юзкейсы. Только технологий многовато))
@AndroidBroadcast
@AndroidBroadcast 3 жыл бұрын
Почему многовато? Выпуск четко по одному Layout. Разбирать каждую фичу было бы очень уж атомарно
@Alex-eu1os
@Alex-eu1os 3 жыл бұрын
Я был бы только за если будешь рассказывать про разные технологии, используемые в разработке. Я это имел ввиду. Так да, всё классно по делу! Спасибо
@AndroidBroadcast
@AndroidBroadcast 3 жыл бұрын
Не так смысл прочитал. То что технологий много - это хорошо. Всегда есть по чём делать контент
@user-bn6ck9tm5y
@user-bn6ck9tm5y 3 жыл бұрын
Всю круто, хорошо прошёлся по основным фичам. Единственное хотел бы отметить про Group, из опыта для видимости его лучше не применять, по сколько человек, который смотрит первый раз этот экран и не знает что есть группа, может пытаться изменить видимость одной View, которая в группе и у него это не получится. Так же не плохо было бы отменить про список актёров, что правильно это делать через Recycler, по сколько явно при разных данных будет разное количество актёров.
@rysnurlanov8012
@rysnurlanov8012 3 жыл бұрын
Ты лучший 🤘🤘🤘
@AndroidBroadcast
@AndroidBroadcast 3 жыл бұрын
😊😊😊
@aratj
@aratj 3 жыл бұрын
лучше бы показывал новичкам, что отступы хорошо бы не не хардкодить , а через ресурсы юзать, захочешь ты их на 3 дюймовых экранах поменьше сделать, что бы площадь полезная чуть больше была. и вместо 3х минут, в сложных вьюхах час будет переделывать
@AndroidBroadcast
@AndroidBroadcast 3 жыл бұрын
Согласен. В следующей раз буду все писать по правильному.
@user-ok9tp5lx6n
@user-ok9tp5lx6n Жыл бұрын
еще побольше тотуриалов спасибо
@ki16or
@ki16or 3 жыл бұрын
goneMargin и Flow было новым. А про group могу сказать, что если нужно будет работать в невидимостью с отдельными вьюхами внутри группы, то не получится. видизибили группы имеет приоритет.
@MxMayers
@MxMayers 3 жыл бұрын
Нереальное видео! Так сжато, по делу и без воды я еще не видел!) все супер, а как быть с ID актерами 19:28 ведь по идеи они должны прилетать динамически? задавать их программно?
@AndroidBroadcast
@AndroidBroadcast 3 жыл бұрын
На самом деле тут будет лучше использовать RecyclerView. Пример с актерами был показан как демонстрации возможности ConstraintLayout
@user-cg8bv6xh6x
@user-cg8bv6xh6x 3 жыл бұрын
Было бы неплохо снять видео по анимациям, material motion и все такое
@user-fo7jg5vt4c
@user-fo7jg5vt4c 3 жыл бұрын
Ещё интересна тема о профайлере
@NikolayBychinin
@NikolayBychinin 3 жыл бұрын
Очень классно, спасибо. Расскажи про garbadge collectors
@AndroidBroadcast
@AndroidBroadcast 3 жыл бұрын
Не думаю что такое в обозримом будущем появится на канале. На эту тему рекомендую посмотреть доклад от Chet Haase kzbin.info/www/bejne/pn69nnd4rM-ErLM
@olegsheliakin2041
@olegsheliakin2041 2 жыл бұрын
Отличное видео с хорошими примерами. Единственное хотелось бы поправить, что baseline не только у TextView, а у View класса. То есть любое View можно выравнивать по baseline. У View есть метод на строке c небольшим номером №25341 - getBaseline().
@AndroidBroadcast
@AndroidBroadcast 2 жыл бұрын
Насколько я знал это всегда касательно только TextView применялось
@Yank_Main
@Yank_Main 2 жыл бұрын
про motionlayout пожалуйста )
@sevenxp8858
@sevenxp8858 3 жыл бұрын
О хотел как раз узнать подробнее про констрейнт и тут коротко о главном))) Некоторые вещи для себя подчеркнул. Но с отступами, я бы не создавал группу для отступов, что то подсказывает, что обычный marginStart отработает быстрее Guideline если я ошибаюсь, то был бы рад узнать об этом, гуглить влом xD Но по логике это привязка + все равно остается Margin 0, - привязка и все. А для этих целей завожу base_margin = 16dp
@user-cx2cm5yv4i
@user-cx2cm5yv4i 3 жыл бұрын
Дуже дякую з відео. Багато дізнався, чого не знав.
@user-oc7py1vy6s
@user-oc7py1vy6s 3 жыл бұрын
Знал и использовал все фишки из видео. Не упомянули в видео про возможность задавать соотношение сторон у view в constraint layout'e и возможность располагать view под углом относительно друг друга.
@AndroidBroadcast
@AndroidBroadcast 3 жыл бұрын
Расположение под углом очень спорная возможность. Разве что для анимаций нужна, а вот про соотношение сторон тут согласен, стоило упомянуть.
@MrKizup
@MrKizup 3 жыл бұрын
Классное видео, спасибо. Можно ещё добавить, что эти операции можно выполнять во вкладке Design, не всегда это удобно и понятно, но например перетащить constraint к границе экрана можно. Также ещё по своему опыту знаю, что не все знают основные хоткеи в студии, а в видео часто они используются. В свое время на столе лежала распечатанная таблица от Jetbrains. Вот тут можно скачать pdf под все OS resources.jetbrains.com/storage/products/intellij-idea/docs/IntelliJIDEA_ReferenceCard.pdf
@AndroidBroadcast
@AndroidBroadcast 3 жыл бұрын
Я думал сделать отдельно видео про design editor если оно имеет востребованность
@MrKizup
@MrKizup 3 жыл бұрын
@@AndroidBroadcast этот редактор странная штука. Вроде задумка неплохая, но xml намного нагляднее описывать
@user-oi3sk5gn9y
@user-oi3sk5gn9y 2 жыл бұрын
Я так и не разобрался как это делать в режиме design.
@user-oi3sk5gn9y
@user-oi3sk5gn9y 2 жыл бұрын
@@AndroidBroadcast было бы неплохо
@volodymyrmedvediev2628
@volodymyrmedvediev2628 3 жыл бұрын
Супер полезное видео! Спасибо! Подскажи плз, как покрасить теги вьюшек как у тебя?
@AndroidBroadcast
@AndroidBroadcast 3 жыл бұрын
Наверное ты о плагине plugins.jetbrains.com/plugin/10080-rainbow-brackets
@monkas2738
@monkas2738 3 жыл бұрын
отличное видео, только заставка громкая на 3:37 ты говоришь что нужно обязательно указать горизонтальный констрейнт, но разве есть в этом смысл если ширина view на весь parent? имеет ли это какое то значение сейчас, или это просто на случай если нужно будет что доделывать? чем match_constraint 0dp лучше match_parent в случае если мне надо вью растянуть с начала до конца parent?
@AndroidBroadcast
@AndroidBroadcast 3 жыл бұрын
Указание constraint не является жестким требованием, но не использовать match_parent и указывать горизонтальный и вертикальный constraint избавит вас от ошибок, на которые я и другие разработчики успели убить в свое время по несколько часов своей работы.
@antonlazarchenko2078
@antonlazarchenko2078 3 жыл бұрын
Хороший разбор, спасибо. Интересно как это будет выглядеть при повороте экрана и как это все подгоняется после вертикальной верстки? Или такие дизайны обычно подразумевают отсутствие альбомной ориентации?
@AndroidBroadcast
@AndroidBroadcast 3 жыл бұрын
Дизайн экрана не задумывался под альбомную ориентацию. Я его бы поменял, так как иначе оставлять много пустого места.
@24Mrnobody
@24Mrnobody Жыл бұрын
Спасибо за видео, очень полезно. Возник вопрос, можно ли в коде динамически добавлять во flow_helper объекты типа view?
@AndroidBroadcast
@AndroidBroadcast Жыл бұрын
Я не нашел такого API, но возможно стоит лучше покапаться
@24Mrnobody
@24Mrnobody Жыл бұрын
@@AndroidBroadcast я вроде нашел кейс, буду тестировать)
@AndroidBroadcast
@AndroidBroadcast Жыл бұрын
Будет хорошо если поделишься, но ссылки забанит
@Alex-qz1dj
@Alex-qz1dj 3 жыл бұрын
Хотелось бы увидеть какой-нибудь макет посложнее в формате LiveCoding. Видео очень кстате)
@AndroidBroadcast
@AndroidBroadcast 3 жыл бұрын
Я выбрал такой макет, чтобы продемонстрировать на нём все возможности и сделать это компактно по времени. Боюсь с более сложным layout мог убить много времени и все бы превратилось в кашу.
@Alex-qz1dj
@Alex-qz1dj 3 жыл бұрын
@@AndroidBroadcast Так и было бы, это скорее как предложение на продолжение темы)
@ivanchepelkin6347
@ivanchepelkin6347 3 жыл бұрын
Отличное видео, спасибо! Подскажите, в чем основная разница между контсрэйнтами left и start, end и right?
@AndroidBroadcast
@AndroidBroadcast 3 жыл бұрын
Это поддержка Right to Left - языков где написание происходит ни как в русском слева направо, а наоборот. Left, right будут всегда размещаться слева и справа соответственно, независимо от правил написания в локале. А вот start, end будут реагировать и менять расположение элементов UI Рекомендуется использовать именно start, end везде: отступы, паддинги, размещение, картинки и прочее
@artemsidorov8116
@artemsidorov8116 3 жыл бұрын
Можно ли во flow программно добавлять элементы? (например есть список актеров и хотим его засунуть во флоу)
@AndroidBroadcast
@AndroidBroadcast 3 жыл бұрын
Да, все это редактируется через код. Туда добавляются id view, но лучше будет взять RecyclerView
@MazdaDoc
@MazdaDoc 3 жыл бұрын
ну количество актеров может динамически меняться в зависимости от фильма для такого экрана, может там юзать что то типа recycler view или тут был использован flow чисто для примера что есть такой хелпер, из кода есть в него возможность динамически сетить актеров? как в таких случаях лучше делать?
@AndroidBroadcast
@AndroidBroadcast 3 жыл бұрын
Я говорил что это пример для демонстрации возможности. В реальной задаче лучше использовать RecyclerView, но если количество актеров на экране фиксированное то вполне можно и добавить все эти View динамически. RecyclerView лучше использовать при очень большом количестве элементов либо когда они тяжелые и нужно их переиспользовать.
@user-bm9qd6lj6v
@user-bm9qd6lj6v 3 жыл бұрын
Вопрос (в начале 7-й минуты примерно): почему, когда указываешь относительно какого объекта размещаться (типа app:layout_constraintEnd_toEndOf="@id/banner"), Студия по умолчанию предлагает влепить плюс между @ и id и почему его оставлять там опасно? Чем именно опасно, ведь с плюсом тоже работает?
@september669
@september669 3 жыл бұрын
Попробуй удалить такую вью и посмотри, что получится
@AndroidBroadcast
@AndroidBroadcast 3 жыл бұрын
+ в id это значит его создание. Т.е. ты можешь ссылаться на View, который олько что создал.
@layoor
@layoor 3 жыл бұрын
Здравствуй, проходил стажировку по андройду и там говорили что bias не надо добавлять, а лучше избегать их. Как ты относишься к этому?
@AndroidBroadcast
@AndroidBroadcast 3 жыл бұрын
Я им пользовался крайне редко, но причин вообще его не добавлять не знаю. Если сможешь описать конкретные причина, тогда дам больше информации
@user-ju6td3un1n
@user-ju6td3un1n 3 жыл бұрын
Использование Flow для списка актеров очень спорный момент, количество может быть разным, а добавить туда view в коде, тот еще костыль.
@AndroidBroadcast
@AndroidBroadcast 3 жыл бұрын
Насколько помню, прямо в видео я говорил что на практике так делать не стоит. Flow использовался для демонстрации фичи
@user-ju6td3un1n
@user-ju6td3un1n 3 жыл бұрын
@@AndroidBroadcast аа ну сорри, не услышал, я просто ни разу им не пользовался, а после просмотра решил поиграть с ним иии так и не придумал, где бы я его смог использовать))) Кстати FlexboxLayout делает то же самое и даже с теми же самыми параметрами, только он при этом полноценный Layout.. ```implementation 'com.google.android:flexbox:2.0.1'```
@user-cq2fv3zv5k
@user-cq2fv3zv5k 3 жыл бұрын
Правильно ли говорят, если в Constraint Layout использовать другие вью группы (к примеру Linear Layout и т.д.), то это отрицательно влияет на производительность прилы?
@AndroidBroadcast
@AndroidBroadcast 3 жыл бұрын
Вложенные layout всегда негативно влияют на производительность UI, но я допускаю что есть исключения, когда это может быть по другому
@aratj
@aratj 3 жыл бұрын
если вьюха не слишком сложная, то одна вложенность ничего визуально не изменит. и сильно завист от задач, например всякие include , которые используются в разных экранах итд.
@bolnoi8
@bolnoi8 3 жыл бұрын
Интересный подход с Flow, странно что он не работает как ViewGroup, т.е. вьюшки находятся рядом, а не в нём. Не сбивает ли это с толку? Видим вьюшку в xml, а правил размещения у нее нет, т.к. за это отвечает Flow. Что насчёт best практик в этом случае? Сначала flow, а следом вьюхи которые он содержит или наоборот? Ещё не нравится ConstraintLayout из-за необходимости иметь id, которые нужны только для позиционирования других вьюх, в итоге если на экране много TextView, которые не нужны в коде, получаем textView1, textView2, textViewN. Тут ещё стоит вспомнить про особенность студии, когда при попытке рефакторинга id вьюхи в одном xml, он меняется во всех. ИМХО стоит добавить псевдо id, который виден в разметке, но недоступен в коде, в т.ч. в ViewBinding.
@AndroidBroadcast
@AndroidBroadcast 3 жыл бұрын
Если бы во Flow можно было вкладывать другие View, он бы стал ViewGroup и мы бы получили вложенность с которой ConstraintLayout призван бороться.
@AndroidBroadcast
@AndroidBroadcast 3 жыл бұрын
По поводу расположения Flow в XML интересный вопрос. Я не задумывался.
@bolnoi8
@bolnoi8 3 жыл бұрын
@@AndroidBroadcast Добавление Актёров наверно лучше сделать через какой-нибудь лист с адаптером, т.к. в коде будет некрасиво: создай view, вставь LayoutParams, сделай generateId(), добавь view сначала в layout, а уже потом во Flow. Это в целом и так понятно, ведь основная цель видео показать возможности contraintLayout, но стало интересно, как решить эту задачу правильно? Я джун и мне в голову ничего кроме RecycleView со своим layoutManager'ом не пришло. Но сам recycling нам вроде бы не нужен...
@apbuzzz
@apbuzzz 3 жыл бұрын
Почему 0dp лучше чем match_parent? Поидее layout_constraintStart_toStartOf="parent" и match_parent должен делать тоже самое, нет?
@AndroidBroadcast
@AndroidBroadcast 3 жыл бұрын
Это разные значения. В видео я объяснил как это меняет поведение.
@user-qr5iw3zr4q
@user-qr5iw3zr4q 2 жыл бұрын
Сколько стоит заказать разметку?
@user-rw8zs7vz9u
@user-rw8zs7vz9u Жыл бұрын
Есть ли курсы строго по верстке приложений на XML, как в данном видео?
@AndroidBroadcast
@AndroidBroadcast Жыл бұрын
Не знаю таких, да и обычных немного знаю
@DaniilK-hq5go
@DaniilK-hq5go Жыл бұрын
Не совсем понял в чём прикол Guidelines, ведь кода стало только больше, но ничего не поменялось (если правильно понял). Ещё не понял что имелось в виду под "реализацией сложных UI через собственный View", что может быть эффективней ConstraintLayout.
@AndroidBroadcast
@AndroidBroadcast Жыл бұрын
Guidelines позволяют выравнивать несколько элементов сразу, причем делать это можно не только как padding контейнера, а в процентах. Удобство и не больше
@AndroidBroadcast
@AndroidBroadcast Жыл бұрын
Раньше чтобы делать сложные UI без вложений могли прибегать к созданию собственной, View. ConstraintLayout дал возможность создавать сложные экраны без вложенности, но по производительности он не лучший
Android ViewBinding | Долой findViewById | Библиотека ViewBindingPropertyDelegate
19:33
Android Broadcast. Все об Андроид разработке
Рет қаралды 12 М.
Jetpack Compose - будущее Android UI и убийца Fragment
22:57
Android Broadcast. Все об Андроид разработке
Рет қаралды 37 М.
OMG😳 #tiktok #shorts #potapova_blog
00:58
Potapova_blog
Рет қаралды 4,1 МЛН
Homemade Professional Spy Trick To Unlock A Phone 🔍
00:55
Crafty Champions
Рет қаралды 62 МЛН
MEGA BOXES ARE BACK!!!
08:53
Brawl Stars
Рет қаралды 34 МЛН
Новостное приложение: с нуля до публикации в Google Play. Часть 1
2:09:40
Android Broadcast. Все об Андроид разработке
Рет қаралды 23 М.
Новости мобильной разработки 2024.2
35:19
Android Broadcast. Все об Андроид разработке
Рет қаралды 2,6 М.
Ускоряем работу RecyclerView. Лучшие практики оптимизации
2:01:23
Android Broadcast. Все об Андроид разработке
Рет қаралды 26 М.
Фоновая работа в Android: Service и WorkManager // Курс «Android Developer. Professional»
1:41:26
Android - View в Android
2:07:10
Young&&Yandex: мобильная разработка
Рет қаралды 9 М.
Миграция с LiveData на Coroutines Flow
25:02
Android Broadcast. Все об Андроид разработке
Рет қаралды 29 М.
Немультиплатформенные привычки Android-разработки
38:43
Android Broadcast. Все об Андроид разработке
Рет қаралды 7 М.
Как запускать задачи в фоне на Android. РАЗБОР
26:42
Android Broadcast. Все об Андроид разработке
Рет қаралды 3,4 М.
Activity Result API. Часть 1. Практическое использование
22:36
Android Broadcast. Все об Андроид разработке
Рет қаралды 17 М.
OMG😳 #tiktok #shorts #potapova_blog
00:58
Potapova_blog
Рет қаралды 4,1 МЛН