Android Broadcast
13.8K subscribers
3.05K photos
209 videos
9 files
5.22K links
Подборка новостей и статей для Android разработчиков.

Обсуждение @android_broadcast_talks
Наши медиа https://taplink.cc/android_broadcast
Связь с автором @android_broadcast_bot
Реклама @android_broadcast_bot
Download Telegram
#UI #ConstraintLayout #MotionLayout

Вышел ConstraintLayout 2.1.0
👉 Теперь поддерживаются отрицательные margin
👉 layout_constraintWidth and layout_constraintHeight - замена android:layout_width and android:layout_height. Подробности здесь
👉 Возможность доставки внешний значений в ConstraintLayout через SharedValues
👉 Новый helper - Carousel для MotionLayout, который позволяет сделать поведение Pager с ограниченным количеством View. Подробности здесь
👉 ReactiveGuide - guideline, который реактивно меняет своё положение на основе SharedValues
👉 CircularFlow - виртуальный layout для расположения виджетов циклично
👉 Возможность описывать ConstraintSet в отдельном xml ресурсе (res/xml/file.xml) и загрузка из в layout
👉 <ViewTransition> - анимация для одной view
👉 Множество улучшений и новых возможностей для анимаций в MotionLayout
#ui #compose

📺 Обзор ConstraintLayout 2.1 (40 мин)

Рассказывают про новую версию библиотеки ConstraintLayout, а также её использование в Compose
This media is not supported in your browser
VIEW IN TELEGRAM
#ui

Android Edge to Edge 101 (7 мин)

Разбор организации безрамочного UI (edge-to-edge) в вашем приложение, чтобы полностью использовать всю площадь экрана для показа информации.
#безопасность #ui

Визуальная защита контента Android приложения

Описание подхода для визуальной защиты контента приложения, пока ожидается ввод пароля или прохождения биометрической авторизации.
Яндекс выпускает DivKit — фреймворк для server-driven UI с открытым кодом

Яндекс выложил свой движок для динамического создания UI. Кому это будет полезно? Для начала - это каталоги чего-либо в приложении. В Яндексе движок используется Едой, Маркетом, Яндекс ТВ и др. продуктами.

Что включается в себя DivKit:
👉 SDK для Android, iOS и Web
👉 DSL для создания UI на сервере

Исходный код опубликован на Гитхабе под лицензией Apache 2.0, а это значит его можно использовать в коммерческих проектах

#ui
Optimizing RecyclerView : Pre-inflated ViewPool (6 мин)

Ускорение RecyclerView через рендеринг элементов списка наперед в фоновом потоке

#performance #ui
This media is not supported in your browser
VIEW IN TELEGRAM
Готовим Window Inset под соусом Jetpack Compose и щепоткой View

Я обожаю приложения, которые используют всю поверхность экрана от края до края. В статье разбирается как это сделать при использовании Compose

#ui #compose
Всем выйти из сумрака: как добавить тень на Android

Разработчик дизайн системы просветит вас о тенях в Android:
👉 зачем нужны
👉 параметр elevation
👉 MaterialShapeDrawable
👉 Создание 9-patch Drawable в коде динамически
👉 системные тени против кастомных

#ui
Статья с разносом того что все плюсы, которые несет темная тема в приложении несущественны, а ее поддержка несет много дополнительной работы при разработке, хотя можно вложиться в фичи.

Вывод - делайте только светлую тему, либо темную. Но решать вам!

#ui
Лучшие практики и что НЕ стоит делать при оптимизации вашего приложения для больших экранов

👉 Несколько приложения могут работать одновременно и запрашивать доступ к одним и тем же ресурсам, например камерам
👉 Аксессуары могут быть подключены по USB и отключены в любой момент
👉 Приложение в onPause() всё еще видно до вызова onStop()
👉 Не полагайтесь на флаги из ресурсов "isTable". Отталкивайтесь от размеров экранов в dp
👉 Используйте CameraX по возможности
👉 Соотношение сторон окна приложения может меняться в любой момент
👉 Правильно указывайте требования к железу устройства в AndroidManifest корректно: что обязательно, опционально и вовсе неважно
👉 Window Insets не меняются на больших экранах
👉 Не полагайтесь на сенсорный экран. Устройство может его не иметь

#ui #tablet #foldable #chromeos
This media is not supported in your browser
VIEW IN TELEGRAM
Layout Inspector теперь встроен в раздел "Running Devices". Заявляют что до 2 раз быстрее стал работать

#androidstudio #инструменты #ui
Forwarded from Compose Broadcast
Разбор (EN, 7м) сложностей тестирования UI на Compose со стандартным решением от Google.

Сделал автор библиотеки для тестирования Ultron и показывает как можно делать их удобнее

#автотесты #ui #compose #ultron #тестирование
Объект Configuration, который приходит разработчикам в параметрах размеров не включает размеры системных панелей. Из-за форсирования Edge-to-Edge в Android 15 вносятся изменения в Configuration:
👉 Configuration.screenWidthDp и screenHeightDp теперь будут включать размер системных панелей
👉 Configuration.smallestScreenWidthDp задевается из-за изменения размеров Configuration.screenWidthDp и screenHeightDp
👉 Configuration.orientation также будет вести отлично на квадратных и близких к ним дисплеях

#android15 #ui
Одно из официальных приложений-примеров Compose в Android - Jetcaster, обновили и добавили поддержку складных смартфонов, Chrome OS, больших экранов, Android TV и часов на WearOS. Также появились App Widget на Compose с помощью либы Glance

Подробно об процессе поддержки и шаринга кода между платформами читайте в статье (EN, 12м)

#compose #android #androidtv #wearos #foldable #ui #chromeos