Больше подробностей про новые адаптивные layout для Compose читайте в статье (EN, 3 мин, ссылка без VPN)
#material #compose
#material #compose
👍22👎6
Вышла 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 добавлены новые стратегии:
👉 Для Carousel добавлена поддержка выравнивания фокусных элементов (значения
Что починили
🛠
🛠 Исправлено большинство проблем карусели;
🛠 Исправлен регресс в версии 1.7.0, из-за которого на Android 4.X некорректно показывалось текстовое поле с выпадающим списком.
Этот разбор подготовил один из подписчиков канала - Paul V. Спасибо!
#material
👉 Система с 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
👍42❤6
На сайте Material обновился дизайн Progress Indicator. В новом дизайне дорожки индикатора теперь скруглены, имеют одинаковый оттенок и разделены друг от друга небольшим зазором. Также, у линейного индикатора прогресса по умолчанию будет показываться "stop indicator" - небольшая точка, указывающая на конец индикатора.
#material
#material
❤46👍34🎉9🔥4
Forwarded from Compose Broadcast (Кирилл Розов)
Вышел Material Design 3 для Compose версии 1.2
👉 Новые экспериментальный компоненты - PullToRefreshContainer и PullToRefreshState
👉 Новый экспериментальный тип кнопок - Segmented Button
👉 Автоматическое скрытие/появление BottomBar при скролле
👉 Рефакторинг
👉
👉
👉 Больше цветов в палитре цветов для большой кастомизации приложения, а также теперь она стала работать лучше
👉 Разные типы
Больше подробностей в release notes
#material #design #android @compose_broadcast
👉 Новые экспериментальный компоненты - 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
#android15 #material #edgetoedge
Please open Telegram to view this post
VIEW IN TELEGRAM
👍41❤2
Всем кто разрабатывает под Android TV возрадуйтесь - первая Beta Jetpack Tv-Material 1.0 на Compose
#androidtv #compose #material #дизайн #jetpack #jetpackupdate
#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
👉 Обновление Slider и Progress Indicator для лучшей поддержки accessibility
👉 Material Motion Transitions теперь стали поддерживать Predictive Back Fragment/View
⬆️ minSdk подняли до 19 (Android 4.4)
👉 Небольшие улучшения по всем виджетам
🛠 Исправление багов
#material
👍24
Реализую приложения на Compose Material 3 и был в шоке как в коде тебе требуют один набор цветов, на сайта в документации описаны другие, а еще часть нашел из анонса в блоге Material Design. Как вы с этим боретесь?
#material
#material
❤27🤯27👍11
Media is too big
VIEW IN TELEGRAM
Очень классное видео про то как подходить к разработке приложений без привязки к экрану, а думать именно в терминах пространства для отрисовки
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
Про изменения отдельными постами дальше
#jetpack #ui #material
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12👎3
Сделали рефакторинг 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
👉 Изменение размера панелей теперь поддерживается из коробки
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
👉 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
#android #material
👍46🤔5🤯4🔥1🙏1
This media is not supported in your browser
VIEW IN TELEGRAM
В рамках The Android Show I/O Edition показали "самый большой редизайн Android за всё время" (со слов спикера). Нас ждет Material 3 Expressive - обновленная версия Material 3 на основе существующих токенов
Буду садиться разбираться и рассказывать на
#android #android16 #material #ui #material3expressive
Please open Telegram to view this post
VIEW IN TELEGRAM
❤33👍17🔥11🤔1🤯1
👍33🔥19🤔8
🤯 Navigation Drawer становится Deprecated
В Material 3 Expressive делают deprecated компонент "Navigation Drawer". Заменой ему предлагают "Navigation Rail", предлагающий ту же функциональность, но лучше адаптирующийся под разные размеры окна
#ui #material #material3 #material3expressive
В 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
👉 Help & Feedback
👉 Settings
👉 Настройки App Widget
👉 Edge-to-edge дизайн
#material #material3 #materialexpressive #m3
🤔27👍10❤2