Android Broadcast
14.2K subscribers
3.49K photos
334 videos
11 files
5.85K links
Подборка новостей и статей для Android разработчиков.

Связь с автором @android_broadcast_bot
Реклама @android_broadcast_bot

РКН https://abdev.by/rkn_tg_ab
Download Telegram
Больше подробностей про новые адаптивные layout для Compose читайте в статье (EN, 3 мин, ссылка без VPN)

#material #compose
👍22👎6
Ещё один шаг в сторону Material3 😔

#material #flutter
🎉52👍12
Вышла Material Components for Android 1.11. Что нового
👉 Система с elevation overlays заменена на tonal surface color system + пояснение;
👉 Добавлены перекрёстные ссылки на документацию на GitHub и material.io. Так, например, из документации к компоненту теперь можно сразу перейти на файл самого компонента в GitHub, а из Java Doc компонента можно сразу перейти на соответствующую страницу в material.io;
👉 Добавлена поддержка динамических цветов для телефонов Meizu и Shift c версиями Android 12 и 12L;
👉 В DatePicker добавили возможность указывать contentDescription к кнопкам подтверждения и отмены ввода даты;
👉 Для Carousel добавлены новые стратегии: FullScreenCarouselStrategy (показывается только один элемент, который растягивается на всё пространство контейнера) и UncontainedCarouselStrategy (как стандартный MultiBrowseCarouselStrategy, только без эффекта "сжатия" полностью видимых элементов);
👉 Для Carousel добавлена поддержка выравнивания фокусных элементов (значения start и center).

Что починили
🛠 MaterialDividerItemDecoration теперь корректно работает в RTL;
🛠 Исправлено большинство проблем карусели;
🛠 Исправлен регресс в версии 1.7.0, из-за которого на Android 4.X некорректно показывалось текстовое поле с выпадающим списком.

Этот разбор подготовил один из подписчиков канала - Paul V. Спасибо!

#material
👍426
На сайте Material обновился дизайн Progress Indicator. В новом дизайне дорожки индикатора теперь скруглены, имеют одинаковый оттенок и разделены друг от друга небольшим зазором. Также, у линейного индикатора прогресса по умолчанию будет показываться "stop indicator" - небольшая точка, указывающая на конец индикатора.

#material
46👍34🎉9🔥4
Также обновили Slider. Появились точки в конце и начале, а также другие улучшения

#material
👍427🔥6🎉1
Forwarded from Compose Broadcast (Кирилл Розов)
Вышел Material Design 3 для Compose версии 1.2
👉 Новые экспериментальный компоненты - PullToRefreshContainer и PullToRefreshState
👉 Новый экспериментальный тип кнопок - Segmented Button
👉 Автоматическое скрытие/появление BottomBar при скролле
👉 Рефакторинг SwipeToDismiss
👉 Badge и BadgedBox теперь стабильные
👉 Сhip тоже стабильные
👉 Больше цветов в палитре цветов для большой кастомизации приложения, а также теперь она стала работать лучше
👉 Разные типы Surface

Больше подробностей в release notes

#material #design #android @compose_broadcast
👍21🔥5
Всем приложениям с targetSdk=35 (Android 15) будет принужительно включаться режим edge-to-edge причем работать он будет с учетом вырезов в экране и системных панелей

❗️ Все Material 3 компоненты уже имеют поддержку Inset-ов, а вот Material 2 - нет

#android15 #material #edgetoedge
Please open Telegram to view this post
VIEW IN TELEGRAM
👍412
Всем кто разрабатывает под Android TV возрадуйтесь - первая Beta Jetpack Tv-Material 1.0 на Compose

#androidtv #compose #material #дизайн #jetpack #jetpackupdate
🔥31
Вышло обновление Material Components Android 1.12.0
👉 Обновление Slider и Progress Indicator для лучшей поддержки accessibility
👉 Material Motion Transitions теперь стали поддерживать Predictive Back Fragment/View
⬆️ minSdk подняли до 19 (Android 4.4)
👉 Небольшие улучшения по всем виджетам
🛠 Исправление багов

#material
👍24
Реализую приложения на Compose Material 3 и был в шоке как в коде тебе требуют один набор цветов, на сайта в документации описаны другие, а еще часть нашел из анонса в блоге Material Design. Как вы с этим боретесь?

#material
27🤯27👍11
Media is too big
VIEW IN TELEGRAM
📹 Building adaptive Android apps (40 минут)

Очень классное видео про то как подходить к разработке приложений без привязки к экрану, а думать именно в терминах пространства для отрисовки

0:00 Введение
4:15 Зачем создавать адаптивные интерфейсы?
7:49 Адаптивность в Compose Material 3
13:01 Создание UI с Compose Material 3 Adaptive
22:07 Положения складных устройств
23:32 Анти-паттерны
26:52 Ввод, выходящий за рамки сенсорного управления
30:36 Тестирование на разных устройствах
36:17 Адаптивный рабочий процесс
39:29 Обратная связь и заключительные замечания

#android #material #большикэкраны
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥23👎4👍3👏2
🚀 Вышел Jetpack WindowManager 1.4 - библиотека с API для построения адаптивного UI в Material3 (можно применить и к другим UI Kit): WindowSizeClass, Activity embedding, WindowsInfoTracker и др.

Про изменения отдельными постами дальше

#jetpack #ui #material
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12👎3
🚀 Изменения в WindowSizeClass

Сделали рефакторинг API, чтобы оно позволило добавлять собственные значения в будущем (помимо NORMAL, LARGE, EXPANDED), а также отказались от WindowWidthSizeClass и WindowHeightSizeClass.
// Было. Теперь deprecated 

val sizeClass = WindowSizeClass.compute(widthDp, heightDp)
when (sizeClass.widthSizeClass) {
COMPACT -> doCompact()
MEDIUM -> doMedium()
EXPANDED -> doExpanded()
else -> doDefault()
}


// Стало в 1.4
val sizeClass = WindowSizeClass.BREAKPOINTS_V1
.computeWindowSizeClass(widthDp, heightDp)


// Проверяем от самого большого размера к наименьшему
when {
sizeClass.isWidthAtLeastBreakpoint(WIDTH_DP_EXPANDED_LOWER_BOUND) -> {
doExpanded()
}
sizeClass.isWidthAtLeastBreakpoint(WIDTH_DP_MEDIUM_LOWER_BOUND) -> {
doMedium()
}
else -> {
// Ветка по умолчанию должна быть для
// самого маленького поддерживаемого UI
doCompact()
}
}


#jetpack #material #adaptive #ui
Please open Telegram to view this post
VIEW IN TELEGRAM
👎10👍8😢2
🚀 Обновления Activity Embedding

👉 Изменение размера панелей теперь поддерживается из коробки
val splitAttributesBuilder: SplitAttributes.Builder = SplitAttributes.Builder()
.setSplitType(SplitAttributes.SplitType.ratio(0.33f))
.setLayoutDirection(SplitAttributes.LayoutDirection.LEFT_TO_RIGHT)

if (WindowSdkExtensions.getInstance().extensionVersion >= 6) {
splitAttributesBuilder.setDividerAttributes(
DividerAttributes.DraggableDividerAttributes.Builder()
.setColor(getColor(context, R.color.divider_color))
.setWidthDp(4)
.setDragRange(
DividerAttributes.DragRange.DRAG_RANGE_SYSTEM_DEFAULT)
.build()
)
}
val splitAttributes: SplitAttributes = splitAttributesBuilder.build()


👉 Управление затемнением интерфейса под диалогом диалога

👉 Возможность закрепить Activity Task (набор Activity) по id в части экрана
fun pinActivityStackExample(taskId: Int) {
val splitAttributes: SplitAttributes = SplitAttributes.Builder()
.setSplitType(SplitAttributes.SplitType.ratio(0.66f))
.setLayoutDirection(SplitAttributes.LayoutDirection.LEFT_TO_RIGHT)
.build()

val pinSplitRule = SplitPinRule.Builder()
.setDefaultSplitAttributes(splitAttributes)
.build()

SplitController.getInstance(applicationContext)
.pinTopActivityStack(taskId, pinSplitRule)
}


#jetpack #ui #material #activity
Please open Telegram to view this post
VIEW IN TELEGRAM
👎7👍6
В Material Component for Android 1.13.0 (пока в альфе) добавили новые виджеты на View системе:
👉 Docked Toolbar
👉 Floating Toolbar
👉 Split Button

#android #material
👍48
This media is not supported in your browser
VIEW IN TELEGRAM
Пример(4м) использования DynamicColors API для изменения цвета элементов RecyclerView на основе картинки в этом элементе

#android #material
👍46🤔5🤯4🔥1🙏1
This media is not supported in your browser
VIEW IN TELEGRAM
🤖 Редизайн Android - Material 3 Expressive

В рамках The Android Show I/O Edition показали "самый большой редизайн Android за всё время" (со слов спикера). Нас ждет Material 3 Expressive - обновленная версия Material 3 на основе существующих токенов

Буду садиться разбираться и рассказывать на 🪙 Boosty про что будет в обновлении

#android #android16 #material #ui #material3expressive
Please open Telegram to view this post
VIEW IN TELEGRAM
33👍17🔥11🤔1🤯1
🤯 Navigation Drawer становится Deprecated

В Material 3 Expressive делают deprecated компонент "Navigation Drawer". Заменой ему предлагают "Navigation Rail", предлагающий ту же функциональность, но лучше адаптирующийся под разные размеры окна

#ui #material #material3 #material3expressive
🤯64🔥28👍16🤔11
На сайте Android Developers стали выкатывать обновления существующих руководств с интеграцией Material 3 Expressive дизайна, а именно:
👉 Help & Feedback
👉 Settings
👉 Настройки App Widget
👉 Edge-to-edge дизайн

#material #material3 #materialexpressive #m3
🤔27👍102