Очень информативный выпуск, узнал много нового, спасибо. На ролике с собесом ты сказал что-то вроде по поводу ui, что неопытный накидает несколько лэйаутов, а не сделает всё в один уровень, что-то подобноее, могу ошибаться, было бы вообще классно узнать побольше о том как правильно верстать и хорошие практики
очень полезное видео было, спасибоо) хотелось поставить больше, чем один лайк. Хоть я и считаю себя относительно опытным разработчиком, но узнал для себя море нового
Спасибо за видео! Хорошая подача, кратко и по делу по основному функционалу. В будущем хотелось бы увидеть уроки по оптимизации «тяжелых» списков, например, ленты социальной сети. И отдельно пожелание на урок по анимациям. Сейчас разбираться с ними очень неудобно, много частностей и классов для этого
@@AndroidBroadcast бейз лайны знал, но как-то активно не юзал (забываю постоянно), а вот всё что связано с динамикой вьюшек (constraint gone параметры) было прям открытием)
Как мне кажется, то на просторах рунета не хватает такого качественного и понятного контента про андроид разработку. Если бы ты какие-то курсы выпустил, я даже подумал бы о покупке такого курса.
Спасибо. Я буду выпускать серию видео на канале, к которым можно будет получать доступ значительно раньше других. Все это происходит через донаты на Boosty (ссылочка в описании)
Всю круто, хорошо прошёлся по основным фичам. Единственное хотел бы отметить про Group, из опыта для видимости его лучше не применять, по сколько человек, который смотрит первый раз этот экран и не знает что есть группа, может пытаться изменить видимость одной View, которая в группе и у него это не получится. Так же не плохо было бы отменить про список актёров, что правильно это делать через Recycler, по сколько явно при разных данных будет разное количество актёров.
Знал и использовал все фишки из видео. Не упомянули в видео про возможность задавать соотношение сторон у view в constraint layout'e и возможность располагать view под углом относительно друг друга.
Нереальное видео! Так сжато, по делу и без воды я еще не видел!) все супер, а как быть с ID актерами 19:28 ведь по идеи они должны прилетать динамически? задавать их программно?
Ля ты пухляш был два года назад. Молодец, что работаешь над собой! Я посмотрев видео, пришёл к выводу, что к пониманию того, о чём ты говоришь сегодня, я приду спустя то время, что ты шёл по своему пути в истории видеороликов ;) Короче еще не скоро :D
лучше бы показывал новичкам, что отступы хорошо бы не не хардкодить , а через ресурсы юзать, захочешь ты их на 3 дюймовых экранах поменьше сделать, что бы площадь полезная чуть больше была. и вместо 3х минут, в сложных вьюхах час будет переделывать
goneMargin и Flow было новым. А про group могу сказать, что если нужно будет работать в невидимостью с отдельными вьюхами внутри группы, то не получится. видизибили группы имеет приоритет.
Отличное видео с хорошими примерами. Единственное хотелось бы поправить, что baseline не только у TextView, а у View класса. То есть любое View можно выравнивать по baseline. У View есть метод на строке c небольшим номером №25341 - getBaseline().
Слушай, по поводу актёров. Очевидно же, что они берутся из какой-то DB (раз андроид, значит SQLite в стандартной обёртке Room), и для каждого нового фильма будут обновляться, т.к. из будет больше/меньше. Ты же указал их статикой. И я понимаю, что мы можем в коде переписать .flow_referenced_id на интересующее, но... если задача включает постановку элементов больших, чем просто текст, разве для этого не нужен recycleView?
Вопрос (в начале 7-й минуты примерно): почему, когда указываешь относительно какого объекта размещаться (типа app:layout_constraintEnd_toEndOf="@id/banner"), Студия по умолчанию предлагает влепить плюс между @ и id и почему его оставлять там опасно? Чем именно опасно, ведь с плюсом тоже работает?
О хотел как раз узнать подробнее про констрейнт и тут коротко о главном))) Некоторые вещи для себя подчеркнул. Но с отступами, я бы не создавал группу для отступов, что то подсказывает, что обычный marginStart отработает быстрее Guideline если я ошибаюсь, то был бы рад узнать об этом, гуглить влом xD Но по логике это привязка + все равно остается Margin 0, - привязка и все. А для этих целей завожу base_margin = 16dp
Правильно ли говорят, если в Constraint Layout использовать другие вью группы (к примеру Linear Layout и т.д.), то это отрицательно влияет на производительность прилы?
если вьюха не слишком сложная, то одна вложенность ничего визуально не изменит. и сильно завист от задач, например всякие include , которые используются в разных экранах итд.
отличное видео, только заставка громкая на 3:37 ты говоришь что нужно обязательно указать горизонтальный констрейнт, но разве есть в этом смысл если ширина view на весь parent? имеет ли это какое то значение сейчас, или это просто на случай если нужно будет что доделывать? чем match_constraint 0dp лучше match_parent в случае если мне надо вью растянуть с начала до конца parent?
Указание constraint не является жестким требованием, но не использовать match_parent и указывать горизонтальный и вертикальный constraint избавит вас от ошибок, на которые я и другие разработчики успели убить в свое время по несколько часов своей работы.
Это поддержка Right to Left - языков где написание происходит ни как в русском слева направо, а наоборот. Left, right будут всегда размещаться слева и справа соответственно, независимо от правил написания в локале. А вот start, end будут реагировать и менять расположение элементов UI Рекомендуется использовать именно start, end везде: отступы, паддинги, размещение, картинки и прочее
Хороший разбор, спасибо. Интересно как это будет выглядеть при повороте экрана и как это все подгоняется после вертикальной верстки? Или такие дизайны обычно подразумевают отсутствие альбомной ориентации?
ну количество актеров может динамически меняться в зависимости от фильма для такого экрана, может там юзать что то типа recycler view или тут был использован flow чисто для примера что есть такой хелпер, из кода есть в него возможность динамически сетить актеров? как в таких случаях лучше делать?
Я говорил что это пример для демонстрации возможности. В реальной задаче лучше использовать RecyclerView, но если количество актеров на экране фиксированное то вполне можно и добавить все эти View динамически. RecyclerView лучше использовать при очень большом количестве элементов либо когда они тяжелые и нужно их переиспользовать.
@@AndroidBroadcast аа ну сорри, не услышал, я просто ни разу им не пользовался, а после просмотра решил поиграть с ним иии так и не придумал, где бы я его смог использовать))) Кстати FlexboxLayout делает то же самое и даже с теми же самыми параметрами, только он при этом полноценный Layout.. ```implementation 'com.google.android:flexbox:2.0.1'```
Не думаю что такое в обозримом будущем появится на канале. На эту тему рекомендую посмотреть доклад от Chet Haase ruclips.net/video/pMZmDBwjQvQ/видео.html
Классное видео, спасибо. Можно ещё добавить, что эти операции можно выполнять во вкладке Design, не всегда это удобно и понятно, но например перетащить constraint к границе экрана можно. Также ещё по своему опыту знаю, что не все знают основные хоткеи в студии, а в видео часто они используются. В свое время на столе лежала распечатанная таблица от Jetbrains. Вот тут можно скачать pdf под все OS resources.jetbrains.com/storage/products/intellij-idea/docs/IntelliJIDEA_ReferenceCard.pdf
Интересный подход с Flow, странно что он не работает как ViewGroup, т.е. вьюшки находятся рядом, а не в нём. Не сбивает ли это с толку? Видим вьюшку в xml, а правил размещения у нее нет, т.к. за это отвечает Flow. Что насчёт best практик в этом случае? Сначала flow, а следом вьюхи которые он содержит или наоборот? Ещё не нравится ConstraintLayout из-за необходимости иметь id, которые нужны только для позиционирования других вьюх, в итоге если на экране много TextView, которые не нужны в коде, получаем textView1, textView2, textViewN. Тут ещё стоит вспомнить про особенность студии, когда при попытке рефакторинга id вьюхи в одном xml, он меняется во всех. ИМХО стоит добавить псевдо id, который виден в разметке, но недоступен в коде, в т.ч. в ViewBinding.
@@AndroidBroadcast Добавление Актёров наверно лучше сделать через какой-нибудь лист с адаптером, т.к. в коде будет некрасиво: создай view, вставь LayoutParams, сделай generateId(), добавь view сначала в layout, а уже потом во Flow. Это в целом и так понятно, ведь основная цель видео показать возможности contraintLayout, но стало интересно, как решить эту задачу правильно? Я джун и мне в голову ничего кроме RecycleView со своим layoutManager'ом не пришло. Но сам recycling нам вроде бы не нужен...
Я выбрал такой макет, чтобы продемонстрировать на нём все возможности и сделать это компактно по времени. Боюсь с более сложным layout мог убить много времени и все бы превратилось в кашу.
Не совсем понял в чём прикол Guidelines, ведь кода стало только больше, но ничего не поменялось (если правильно понял). Ещё не понял что имелось в виду под "реализацией сложных UI через собственный View", что может быть эффективней ConstraintLayout.
Guidelines позволяют выравнивать несколько элементов сразу, причем делать это можно не только как padding контейнера, а в процентах. Удобство и не больше
Раньше чтобы делать сложные UI без вложений могли прибегать к созданию собственной, View. ConstraintLayout дал возможность создавать сложные экраны без вложенности, но по производительности он не лучший
💰 Поддержать проект bit.ly/3sratqQ
📰 Android Broadcast Telegram ttttt.me/android_broadcast
📰 Kotlin Broadcast Telegram ttttt.me/kotlin_broadcast
Очень крутой формат, теперь нужно custom view
+1
Красавчик, никогда раньше не юзал барьер вообще, очень полезно как оказалось
Это видео мне прямо глаза открыло на ConstraintLayout. Я, как новичок, в основном linear и relative использовал до этого :)
Очень понравилось.Большое спасибо.
давно хотел посмотреть, много интересного встретил, надеюсь буду юзать это на работе, thx! :))
Крутой гайд, многих вещей нигде не видел, очень полезные штуки!
Формат просто то что надо!!!!! Спасибо!
Все четко и понятно. Спасибо.
Очень информативный выпуск, узнал много нового, спасибо. На ролике с собесом ты сказал что-то вроде по поводу ui, что неопытный накидает несколько лэйаутов, а не сделает всё в один уровень, что-то подобноее, могу ошибаться, было бы вообще классно узнать побольше о том как правильно верстать и хорошие практики
очень полезное видео было, спасибоо) хотелось поставить больше, чем один лайк. Хоть я и считаю себя относительно опытным разработчиком, но узнал для себя море нового
да, походу это лучший формат канале. Давай дальше о CustomView. Потом о Сustom ViewGroup. А потом о Custom Layout Manager для RecyclerView ))) спасбо)
Это было шикарно!!! Срочно видео такого характера про Recycler!!!
Это лучший видос по Constraint Layout! Спасибо
Думал включу, чтобы на фоне что-то играло пока ем, а потом стало так интересно, что поесть забыл
Да, ConstraintLayout + Android Broadcast - это хорошая пища для мозга 💪
Четко и ясно. Спасибо!
Формат супер, спасибо. Коротко, понятно и наглядно
спасибо тебе Человек!!! очень доступно!)
Шикарно! Благодарю.
спасибо большое! очень полезная инфа!
Спасибо. Отличный формат видео. Побольше таких.
Большое спасибо за видео! Очень полезно✅
Спасибо за видео. Очень полезно
Спасибо за видео! Хорошая подача, кратко и по делу по основному функционалу.
В будущем хотелось бы увидеть уроки по оптимизации «тяжелых» списков, например, ленты социальной сети.
И отдельно пожелание на урок по анимациям. Сейчас разбираться с ними очень неудобно, много частностей и классов для этого
Принято!
Спасибо, полезно! Действительно таких видео бы побольше, потому что вот вроде бы работаешь с констрейнт лайаут, а оказывается столько тонкостей ещё
Много получилось для себя найти нового?
@@AndroidBroadcast бейз лайны знал, но как-то активно не юзал (забываю постоянно), а вот всё что связано с динамикой вьюшек (constraint gone параметры) было прям открытием)
Узнал кое-что новое, например про Flow. Спасибо за вашу работу
Я готов несколько лайков этому видео поставить!! Настолько часто я к нему обращаюсь) спасибо
Супер! Спасибо.
Ух, сколько нового узнал! Спасибо.
Новый формат - огонь.
Спасибо! Такого будет больше в будущем
Вау. Спасибо, брат. Только изучаю Андроид - и увидел много полезного, а главное: все просто и доступно, нормальным человеческим языком.
Большое спасибо за видео, очень полезно. Даже новичку все понятно 🙃
Спасибо, хороший материал и подача! Респект Кириллу и команде.
супер! большое спасибо за детальный обзор
Круто очень , спасибо !
Спасибо, очень полезно) нашел ответы на многие вопросы
Супер, большое спасибо. Хотелось бы побольше такого, например про CardView
Для меня было очень полезно и познавательно! Огромное тебе спасибо!
Кирилл спасибо! Ты крут!
Спасибо 👍🏻
Крутое видео! Можно использовать как руководство по применению)
Очень годный видос , второй раз прохожу
Ждём видео на тему MotionLayout 😊
Спасибо. Сделал пару открытий для себя
Спасибо!
Как мне кажется, то на просторах рунета не хватает такого качественного и понятного контента про андроид разработку. Если бы ты какие-то курсы выпустил, я даже подумал бы о покупке такого курса.
Спасибо. Я буду выпускать серию видео на канале, к которым можно будет получать доступ значительно раньше других. Все это происходит через донаты на Boosty (ссылочка в описании)
спасибо! очень доступно все разжевал )
спасибо за видео, узнал , как джун что-то новое для себя. но что-то конечно придётся дочитывать и искать дополнительно для более глубокого погружения
Супер! Не знал про flow. С chain неочевидный момент, что стиль надо прописывать в первом элементе.
Классный урок,было бы круто подобное по теме тестирования сделать
Ты лучший 🤘🤘🤘
😊😊😊
Браво, очень полезное видео получилось
Круто! Можно так освещать технологии и показывать какие-то юзкейсы. Только технологий многовато))
Почему многовато? Выпуск четко по одному Layout. Разбирать каждую фичу было бы очень уж атомарно
Я был бы только за если будешь рассказывать про разные технологии, используемые в разработке. Я это имел ввиду. Так да, всё классно по делу! Спасибо
Не так смысл прочитал. То что технологий много - это хорошо. Всегда есть по чём делать контент
Класс, так держать!
топчик, спасибо
Всю круто, хорошо прошёлся по основным фичам.
Единственное хотел бы отметить про Group, из опыта для видимости его лучше не применять, по сколько человек, который смотрит первый раз этот экран и не знает что есть группа, может пытаться изменить видимость одной View, которая в группе и у него это не получится.
Так же не плохо было бы отменить про список актёров, что правильно это делать через Recycler, по сколько явно при разных данных будет разное количество актёров.
Супер полезно, спасибо!!
очень круто!
воо новый формат крутой
Спасибо! Лайк, подписка, рекомендация друзьям!
Очень годный контент, с меня лайк!
Спасибо за инфу, отличный выпуск, узнал несколько новым моментов) 👍
Было бы круто про разные подходы к анимации в таком же формате сделать
Прям очень понравилось видео! Надеюсь, будешь выпускать подобные видео про какие-либо другие штуки в Андроиде:)
Конечно буду, дайте время устаканиться
Знал и использовал все фишки из видео.
Не упомянули в видео про возможность задавать соотношение сторон у view в constraint layout'e и возможность располагать view под углом относительно друг друга.
Расположение под углом очень спорная возможность. Разве что для анимаций нужна, а вот про соотношение сторон тут согласен, стоило упомянуть.
Нереальное видео! Так сжато, по делу и без воды я еще не видел!) все супер, а как быть с ID актерами 19:28 ведь по идеи они должны прилетать динамически? задавать их программно?
На самом деле тут будет лучше использовать RecyclerView. Пример с актерами был показан как демонстрации возможности ConstraintLayout
Дуже дякую з відео. Багато дізнався, чого не знав.
Ля ты пухляш был два года назад. Молодец, что работаешь над собой! Я посмотрев видео, пришёл к выводу, что к пониманию того, о чём ты говоришь сегодня, я приду спустя то время, что ты шёл по своему пути в истории видеороликов ;) Короче еще не скоро :D
лучше бы показывал новичкам, что отступы хорошо бы не не хардкодить , а через ресурсы юзать, захочешь ты их на 3 дюймовых экранах поменьше сделать, что бы площадь полезная чуть больше была. и вместо 3х минут, в сложных вьюхах час будет переделывать
Согласен. В следующей раз буду все писать по правильному.
Круто
Hello from Germany! Nice Video!
goneMargin и Flow было новым.
А про group могу сказать, что если нужно будет работать в невидимостью с отдельными вьюхами внутри группы, то не получится. видизибили группы имеет приоритет.
Очень крутое видео!
если всегда использовать recyclerview норм? ведь только он поддерживает адаптеры
Отличное видео с хорошими примерами.
Единственное хотелось бы поправить, что baseline не только у TextView, а у View класса. То есть любое View можно выравнивать по baseline. У View есть метод на строке c небольшим номером №25341 - getBaseline().
Насколько я знал это всегда касательно только TextView применялось
еще побольше тотуриалов спасибо
Супер полезное видео! Спасибо! Подскажи плз, как покрасить теги вьюшек как у тебя?
Наверное ты о плагине plugins.jetbrains.com/plugin/10080-rainbow-brackets
Слушай, по поводу актёров. Очевидно же, что они берутся из какой-то DB (раз андроид, значит SQLite в стандартной обёртке Room), и для каждого нового фильма будут обновляться, т.к. из будет больше/меньше. Ты же указал их статикой. И я понимаю, что мы можем в коде переписать .flow_referenced_id на интересующее, но... если задача включает постановку элементов больших, чем просто текст, разве для этого не нужен recycleView?
Да, но для демонстрации возможностей Constraint layout было сделано так
отлично
Спасибо за видео, очень полезно. Возник вопрос, можно ли в коде динамически добавлять во flow_helper объекты типа view?
Я не нашел такого API, но возможно стоит лучше покапаться
@@AndroidBroadcast я вроде нашел кейс, буду тестировать)
Будет хорошо если поделишься, но ссылки забанит
Вопрос (в начале 7-й минуты примерно): почему, когда указываешь относительно какого объекта размещаться (типа app:layout_constraintEnd_toEndOf="@id/banner"), Студия по умолчанию предлагает влепить плюс между @ и id и почему его оставлять там опасно? Чем именно опасно, ведь с плюсом тоже работает?
Попробуй удалить такую вью и посмотри, что получится
+ в id это значит его создание. Т.е. ты можешь ссылаться на View, который олько что создал.
О хотел как раз узнать подробнее про констрейнт и тут коротко о главном))) Некоторые вещи для себя подчеркнул.
Но с отступами, я бы не создавал группу для отступов, что то подсказывает, что обычный marginStart отработает быстрее Guideline если я ошибаюсь, то был бы рад узнать об этом, гуглить влом xD
Но по логике это привязка + все равно остается Margin 0, - привязка и все. А для этих целей завожу base_margin = 16dp
Можно ли во flow программно добавлять элементы? (например есть список актеров и хотим его засунуть во флоу)
Да, все это редактируется через код. Туда добавляются id view, но лучше будет взять RecyclerView
про motionlayout пожалуйста )
Правильно ли говорят, если в Constraint Layout использовать другие вью группы (к примеру Linear Layout и т.д.), то это отрицательно влияет на производительность прилы?
Вложенные layout всегда негативно влияют на производительность UI, но я допускаю что есть исключения, когда это может быть по другому
если вьюха не слишком сложная, то одна вложенность ничего визуально не изменит. и сильно завист от задач, например всякие include , которые используются в разных экранах итд.
отличное видео, только заставка громкая
на 3:37 ты говоришь что нужно обязательно указать горизонтальный констрейнт, но разве есть в этом смысл если ширина view на весь parent? имеет ли это какое то значение сейчас, или это просто на случай если нужно будет что доделывать? чем match_constraint 0dp лучше match_parent в случае если мне надо вью растянуть с начала до конца parent?
Указание constraint не является жестким требованием, но не использовать match_parent и указывать горизонтальный и вертикальный constraint избавит вас от ошибок, на которые я и другие разработчики успели убить в свое время по несколько часов своей работы.
Отличное видео, спасибо! Подскажите, в чем основная разница между контсрэйнтами left и start, end и right?
Это поддержка Right to Left - языков где написание происходит ни как в русском слева направо, а наоборот.
Left, right будут всегда размещаться слева и справа соответственно, независимо от правил написания в локале. А вот start, end будут реагировать и менять расположение элементов UI
Рекомендуется использовать именно start, end везде: отступы, паддинги, размещение, картинки и прочее
Хороший разбор, спасибо. Интересно как это будет выглядеть при повороте экрана и как это все подгоняется после вертикальной верстки?
Или такие дизайны обычно подразумевают отсутствие альбомной ориентации?
Дизайн экрана не задумывался под альбомную ориентацию. Я его бы поменял, так как иначе оставлять много пустого места.
ну количество актеров может динамически меняться в зависимости от фильма для такого экрана, может там юзать что то типа recycler view или тут был использован flow чисто для примера что есть такой хелпер, из кода есть в него возможность динамически сетить актеров? как в таких случаях лучше делать?
Я говорил что это пример для демонстрации возможности. В реальной задаче лучше использовать RecyclerView, но если количество актеров на экране фиксированное то вполне можно и добавить все эти View динамически. RecyclerView лучше использовать при очень большом количестве элементов либо когда они тяжелые и нужно их переиспользовать.
Использование Flow для списка актеров очень спорный момент, количество может быть разным, а добавить туда view в коде, тот еще костыль.
Насколько помню, прямо в видео я говорил что на практике так делать не стоит. Flow использовался для демонстрации фичи
@@AndroidBroadcast аа ну сорри, не услышал, я просто ни разу им не пользовался, а после просмотра решил поиграть с ним иии так и не придумал, где бы я его смог использовать))) Кстати FlexboxLayout делает то же самое и даже с теми же самыми параметрами, только он при этом полноценный Layout.. ```implementation 'com.google.android:flexbox:2.0.1'```
Здравствуй, проходил стажировку по андройду и там говорили что bias не надо добавлять, а лучше избегать их. Как ты относишься к этому?
Я им пользовался крайне редко, но причин вообще его не добавлять не знаю. Если сможешь описать конкретные причина, тогда дам больше информации
Очень классно, спасибо. Расскажи про garbadge collectors
Не думаю что такое в обозримом будущем появится на канале. На эту тему рекомендую посмотреть доклад от Chet Haase ruclips.net/video/pMZmDBwjQvQ/видео.html
Ещё интересна тема о профайлере
Почему 0dp лучше чем match_parent? Поидее layout_constraintStart_toStartOf="parent" и match_parent должен делать тоже самое, нет?
Это разные значения. В видео я объяснил как это меняет поведение.
Классное видео, спасибо. Можно ещё добавить, что эти операции можно выполнять во вкладке Design, не всегда это удобно и понятно, но например перетащить constraint к границе экрана можно.
Также ещё по своему опыту знаю, что не все знают основные хоткеи в студии, а в видео часто они используются. В свое время на столе лежала распечатанная таблица от Jetbrains. Вот тут можно скачать pdf под все OS
resources.jetbrains.com/storage/products/intellij-idea/docs/IntelliJIDEA_ReferenceCard.pdf
Я думал сделать отдельно видео про design editor если оно имеет востребованность
@@AndroidBroadcast этот редактор странная штука. Вроде задумка неплохая, но xml намного нагляднее описывать
Я так и не разобрался как это делать в режиме design.
@@AndroidBroadcast было бы неплохо
Было бы неплохо снять видео по анимациям, material motion и все такое
Есть ли курсы строго по верстке приложений на XML, как в данном видео?
Не знаю таких, да и обычных немного знаю
Интересный подход с Flow, странно что он не работает как ViewGroup, т.е. вьюшки находятся рядом, а не в нём. Не сбивает ли это с толку? Видим вьюшку в xml, а правил размещения у нее нет, т.к. за это отвечает Flow. Что насчёт best практик в этом случае? Сначала flow, а следом вьюхи которые он содержит или наоборот?
Ещё не нравится ConstraintLayout из-за необходимости иметь id, которые нужны только для позиционирования других вьюх, в итоге если на экране много TextView, которые не нужны в коде, получаем textView1, textView2, textViewN. Тут ещё стоит вспомнить про особенность студии, когда при попытке рефакторинга id вьюхи в одном xml, он меняется во всех.
ИМХО стоит добавить псевдо id, который виден в разметке, но недоступен в коде, в т.ч. в ViewBinding.
Если бы во Flow можно было вкладывать другие View, он бы стал ViewGroup и мы бы получили вложенность с которой ConstraintLayout призван бороться.
По поводу расположения Flow в XML интересный вопрос. Я не задумывался.
@@AndroidBroadcast Добавление Актёров наверно лучше сделать через какой-нибудь лист с адаптером, т.к. в коде будет некрасиво: создай view, вставь LayoutParams, сделай generateId(), добавь view сначала в layout, а уже потом во Flow.
Это в целом и так понятно, ведь основная цель видео показать возможности contraintLayout, но стало интересно, как решить эту задачу правильно? Я джун и мне в голову ничего кроме RecycleView со своим layoutManager'ом не пришло. Но сам recycling нам вроде бы не нужен...
Хотелось бы увидеть какой-нибудь макет посложнее в формате LiveCoding.
Видео очень кстате)
Я выбрал такой макет, чтобы продемонстрировать на нём все возможности и сделать это компактно по времени. Боюсь с более сложным layout мог убить много времени и все бы превратилось в кашу.
@@AndroidBroadcast Так и было бы, это скорее как предложение на продолжение темы)
Не совсем понял в чём прикол Guidelines, ведь кода стало только больше, но ничего не поменялось (если правильно понял). Ещё не понял что имелось в виду под "реализацией сложных UI через собственный View", что может быть эффективней ConstraintLayout.
Guidelines позволяют выравнивать несколько элементов сразу, причем делать это можно не только как padding контейнера, а в процентах. Удобство и не больше
Раньше чтобы делать сложные UI без вложений могли прибегать к созданию собственной, View. ConstraintLayout дал возможность создавать сложные экраны без вложенности, но по производительности он не лучший
Сколько стоит заказать разметку?