Compose Material 3 Адаптивный

Используйте адаптивную библиотеку Material 3 для создания адаптивных пользовательских интерфейсов, которые автоматически адаптируются в соответствии с текущими конфигурациями окон, такими как классы размеров окон или положения устройств. Библиотека предоставляет как реализации каркаса по умолчанию, так и необходимые компонуемые строительные блоки для создания собственных пользовательских интерфейсов.
Последнее обновление Стабильный выпуск Кандидат на выпуск Бета-версия Альфа-релиз
12 декабря 2024 г. 1.0.0 - - 1.1.0-альфа08

Объявление зависимостей

Чтобы добавить зависимость от Compose, вам необходимо добавить в свой проект репозиторий Google Maven. Для получения дополнительной информации прочтите репозиторий Google Maven .

Добавьте зависимости для нужных вам артефактов в файл build.gradle для вашего приложения или модуля:

классный

dependencies {
    implementation "androidx.compose.material3.adaptive:adaptive:1.1.0-alpha04"
    implementation "androidx.compose.material3.adaptive:adaptive-layout:1.1.0-alpha04"
    implementation "androidx.compose.material3.adaptive:adaptive-navigation:1.1.0-alpha04"
}

Котлин

dependencies {
    implementation("androidx.compose.material3.adaptive:adaptive:1.1.0-alpha04")
    implementation "androidx.compose.material3.adaptive:adaptive-layout:1.1.0-alpha04"
    implementation "androidx.compose.material3.adaptive:adaptive-navigation:1.1.0-alpha04"
}

Дополнительные сведения о зависимостях см. в разделе Добавление зависимостей сборки .

Обратная связь

Ваши отзывы помогают сделать Jetpack лучше. Дайте нам знать, если вы обнаружите новые проблемы или у вас есть идеи по улучшению этой библиотеки. Пожалуйста, ознакомьтесь с существующими проблемами в этой библиотеке, прежде чем создавать новую. Вы можете добавить свой голос к существующей проблеме, нажав кнопку со звездочкой.

Создать новую задачу

Дополнительную информацию см . в документации по системе отслеживания проблем .

Compose Material3 Адаптивная версия 1.1

Версия 1.1.0-альфа08

12 декабря 2024 г.

Выпущен androidx.compose.material3.adaptive:adaptive-*:1.1.0-alpha08 . Версия 1.1.0-alpha08 содержит эти коммиты .

Изменения API

  • Представьте функцию currentWindowDpSize . ( I99125 , б/296300441 )
  • Откройте PaneScaffoldParentData и ThreePaneScaffoldHorizontalOrder.toLtrOrder() ( I2d6b7 )
  • Удалите PaneScaffoldMotionScope и превратите его в поле в PaneScaffoldTransitionScope . Также переименуйте его в PaneScaffoldMotionDataProvider и удалите доступ к базовой структуре данных PaneMotionData — вместо этого предоставьте методы получения и цикла для доступа к данным. ( Ид8884 )
  • Создайте механизм переопределения для ThreePaneScaffold для поддержки реализаций неопубликованной загрузки для разных форм-факторов. ( I5280f )
  • По умолчанию делает состояние расширения панели нулевым ( Ia65f8 , b/376394520 ).

Версия 1.1.0-альфа07

13 ноября 2024 г.

Выпущен androidx.compose.material3.adaptive:adaptive-*:1.1.0-alpha07 . Версия 1.1.0-alpha07 содержит эти коммиты .

Изменения API

  • Удалите реализацию дескриптора перетаскивания из адаптивной библиотеки и предложите людям использовать ее версию M3. И в то же время введите модификатор, обеспечивающий возможность перетаскивания расширения панели для предоставленного компонуемого дескриптора перетаскивания. Также скройте DraggableState как деталь реализации, чтобы при необходимости мы могли изменить его позже. ( Ib50cd )
  • Перемещает точку входа для настройки движения панели из функций scaffold в AnimatedPane в соответствии с отзывами UXR. ( I10f72 )
  • Внедрение поддержки fling и специальной спецификации анимации для расширения панели. ( Ie207d , б/362584341 )

Исправления ошибок

  • Устраните проблемы с прогнозируемым возвратом при отмене. ( 36a3e0a ), ( б/369899645 )

Версия 1.1.0-альфа06

30 октября 2024 г.

Выпущен androidx.compose.material3.adaptive:adaptive-*:1.1.0-alpha06 . Версия 1.1.0-alpha06 содержит эти коммиты .

Изменения API

  • Добавьте FloatRange в PaneScaffoldTransitionScope.motionProgress . ( Iac0dd )
  • Измените тип параметров навигатора на общие типы в навигационных шаблонах. ( I1da6e )

Версия 1.1.0-альфа05

16 октября 2024 г.

Выпущен androidx.compose.material3.adaptive:adaptive-*:1.1.0-alpha05 . Версия 1.1.0-alpha05 содержит эти коммиты .

Изменения API

  • Внедрите класс спецификаций анимации, чтобы обеспечить более единообразное поведение при движении и возможность расширения в будущем. ( I2d3cc )
  • Укажите тип движения и переименуйте currentXXXXX в PaneMotionData в originXXXX. ( I7c61a )

Версия 1.1.0-альфа04

2 октября 2024 г.

Выпущен androidx.compose.material3.adaptive:adaptive-*:1.1.0-alpha04 . Версия 1.1.0-alpha04 содержит эти коммиты .

Новые возможности

  • Добавлена ​​прогнозирующая обратная поддержка для NavigableListDetailPaneScaffold и NavigableSupportingPaneScaffold . ( I4dc21 , б/359616816 )

Изменения API

  • В ThreePaneScaffoldNavigator добавлен ThreePaneScaffoldState . Методы навигации были suspend для поддержки навигации с анимацией. Добавлен seekBack для поддержки частичных состояний навигации (например, прогнозируемый возврат). ( I5a651 , б/359616816 )
  • Добавлен MutableThreePaneScaffoldState для управления переходом между значениями шаблона. Существующий ThreePaneScaffoldState доступен только для чтения. ( Idb3c6 )
  • Предоставление реализаций движения панели по умолчанию ( I95a7b )
  • Включить установку начальной привязки состояния расширения панели ( Ie41b3 , b/362350560 )

Исправления ошибок

  • Принудительно установить минимальный целевой размер сенсорного маркера перетаскивания 48x48dp ( 7ce6635 , b/366018217 ).
  • Восстановить закрепленное положение после изменений конфигурации ( 3c9fc6b , b/362353672 )

Версия 1.1.0-альфа03

18 сентября 2024 г.

Выпущен androidx.compose.material3.adaptive:adaptive-*:1.1.0-alpha03 . Версия 1.1.0-alpha03 содержит эти коммиты .

Версия 1.1.0-альфа02

4 сентября 2024 г.

Выпущен androidx.compose.material3.adaptive:adaptive-*:1.1.0-alpha02 . Версия 1.1.0-alpha02 содержит эти коммиты .

Новые возможности

  • Настройка движения ( I0bf9c ), ( I80e66 ) поддерживается для производителей, позволяющих изменять движения по умолчанию во время адаптивных изменений состояния каркаса. Создатели могут выбирать из набора входных и выходных переходов по умолчанию или реализовывать чисто пользовательские переходы с информацией, предоставляемой через новые области движения.
  • Реализовать анимацию затухания маркеров перетаскивания расширения панели ( 46e3c69 ).
  • Запомните PaneExpansionState Saveable ( 61ff76f )

Изменения API

  • Добавьте недостающие точки доступа расширения панели в скаффолды ( Ic5bc0 ).
  • ThreePaneScaffoldDestinationItem.content переименован в contentKey . Аргумент rememberListDetailPaneScaffoldNavigator rememberSupportingPaneScaffoldNavigator по умолчанию изменен с Nothing на Any . ( I58749 )
  • Пометить ThreePaneScaffoldState как стабильное ( I64aec )
  • Сделайте параметры дескриптора перетаскивания ограниченными ( Ic0aa2 )

Версия 1.1.0-альфа01

21 августа 2024 г.

Выпущен androidx.compose.material3.adaptive:adaptive-*:1.1.0-alpha01 . Версия 1.1.0-alpha01 содержит эти коммиты .

Новые возможности

  • Внедрить поддержку расширения панели адаптивных каркасов.

Изменения API

  • Представить общедоступные API расширения панели ( I301d6 ).
  • Представлен ThreePaneScaffoldState для управления переходами значений панели. Добавлены перегрузки ListDetailPaneScaffold и SupportingPaneScaffold которые принимают это состояние. ( I5db3b )
  • Представление ключа расширения панели и интерфейса поставщика ключей ( Id621f ).

Исправления ошибок

  • Исправлен неправильный расчет раздела при наличии исключенного шарнира. ( 9dfd483 )

Compose Material3 Адаптивная версия 1.0

Версия 1.0.0

4 сентября 2024 г.

Выпущен androidx.compose.material3.adaptive:adaptive-*:1.0.0 . Версия 1.0.0 содержит эти коммиты .

Основные особенности версии 1.0.0

  • Однострочные составные функции currentWindowSize() , collectFoldingFeaturesAsState() и currentWindowAdaptiveInfo() для получения необходимой информации об окне для адаптации приложений, например размеров окон и функций складывания.
  • ListDetailPaneScaffold и SupportingPaneScaffold предоставляют два канонических макета Material3, которые автоматически адаптируются в соответствии с различными конфигурациями окон. Эти две подмости также полностью настраиваются в соответствии с различными потребностями производителей.
  • ThreePaneScaffoldNavigator и соответствующие функции запоминания, rememberListDetailPaneScaffoldNavigator() и rememberSupportingPaneScaffoldNavigator() для предоставления навигационных решений в адаптивном шаблоне, который может одновременно отображать несколько пунктов назначения навигации, по сравнению с обычной настройкой «один пункт назначения за раз» в неадаптивный мир.
  • Встроенная анимация Material3 по умолчанию при изменении состояний адаптивного каркаса.

Версия 1.0.0-rc01

21 августа 2024 г.

Выпущен androidx.compose.material3.adaptive:adaptive-*:1.0.0-rc01 . Версия 1.0.0-rc01 содержит эти коммиты .

Исправления ошибок

  • Исправлен неправильный расчет раздела при наличии исключенного шарнира. ( 9dfd483 )

Версия 1.0.0-beta04

26 июня 2024 г.

Выпущен androidx.compose.material3.adaptive:adaptive-*:1.0.0-beta04 . Версия 1.0.0-beta04 содержит эти коммиты .

Исправления ошибок

  • Устраняет проблему, из-за которой при обновлении границ шарниров макет не обновляется соответствующим образом. ( 71e9cf1 )

Версия 1.0.0-бета03

12 июня 2024 г.

Выпущен androidx.compose.material3.adaptive:adaptive-*:1.0.0-beta03 . Версия 1.0.0-beta03 содержит эти коммиты .

Исправления ошибок

  • Исправляет сбои, вызванные неправильным разрешением зависимостей в бета-версии 02.

Версия 1.0.0-beta02

29 мая 2024 г.

Выпущен androidx.compose.material3.adaptive:adaptive-*:1.0.0-beta02 . Версия 1.0.0-beta02 содержит эти коммиты .

Версия 1.0.0-бета01

14 мая 2024 г.

Выпущен androidx.compose.material3.adaptive:adaptive-*:1.0.0-beta01 . Версия 1.0.0-beta01 содержит эти коммиты .

Версия 1.0.0-альфа12

1 мая 2024 г.

Выпущен androidx.compose.material3.adaptive:adaptive-*:1.0.0-alpha12 . Версия 1.0.0-alpha12 содержит эти коммиты .

Изменения API

  • Добавьте информацию isFlat в HingeInfo ( Ie0516 , b/333784198 )
  • Сделать адаптивные API неэкспериментальными ( I1d038 ).
  • Сделать API адаптивного макета неэкспериментальными ( Id23df )
  • BackNavigationBehavior изменен с перечисления на класс значения ( Id8757 ).

Исправления ошибок

  • Измените дробь перехода на лямбду ( I6f5a9 )
  • Исправлена ​​проблема с начальным состоянием SizeTracker ( 18326a9 ).
  • Включить список шарниров в проверку равенства Posture ( 6687137 )

Версия 1.0.0-альфа11

17 апреля 2024 г.

Выпущен androidx.compose.material3.adaptive:adaptive-*:1.0.0-alpha11 . Версия 1.0.0-alpha11 содержит эти коммиты .

Изменения API

  • Сделайте интерфейсы области герметичными. ( Иефа57 )
  • Представляем AnimatedPaneScope . ( I62d73 , б/332750742 )
  • Сделайте AdaptStrategy герметичным и стабильным. ( Я28б2 )
  • Представьте метод копирования PaneScaffoldDirective . ( I9291f )
  • Отметьте ThreePaneScaffoldScope как экспериментальный. ( I9d527 )
  • Предоставьте простые в использовании API-интерфейсы scaffold, поддерживающие навигацию. ( I263f0 , б/321010778 )

Версия 1.0.0-альфа10

3 апреля 2024 г.

Выпущен androidx.compose.material3.adaptive:adaptive-*:1.0.0-alpha10 . Версия 1.0.0-alpha10 содержит эти коммиты .

Изменения API

  • Сделайте предпочтительную ширину по умолчанию адаптивной и настраиваемой. ( Ic3abc )
  • Переименуйте функции расчета директив scaffold. ( I10855 )
  • Удалите отступы и вставки из API scaffold. ( I786f8 )
  • Добавьте методы запоминания навигатора без универсальных типов. ( I607c3 )

Версия 1.0.0-альфа09

20 марта 2024 г.

Выпущен androidx.compose.material3.adaptive:adaptive-*:1.0.0-alpha09 . Версия 1.0.0-alpha09 содержит эти коммиты .

Изменения API

  • Добавьте поля перехода состояния в ThreePaneScaffoldScope . ( I3d917 )
  • Измените порядок параметров каркаса. ( I4dff5 )
  • Укажите значение по умолчанию для параметра модификатора AnimatedPane . ( I77dd7 )

Исправления ошибок

  • Включите размер прокладки в движения панели. ( а3174ca )

Версия 1.0.0-альфа08

6 марта 2024 г.

Выпущен androidx.compose.material3.adaptive:adaptive-*:1.0.0-alpha08 . Версия 1.0.0-alpha08 содержит эти коммиты .

Новые возможности

  • Реализуйте задержку скольжения при переключении панелей. ( I1a38e )

Изменения API

  • Удален интерфейс ThreePaneScaffoldState . ( I63f23 )

Версия 1.0.0-альфа07

21 февраля 2024 г.