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