Compose Material 3 적응형

  
Material 3 적응형 라이브러리를 사용하여 창 크기 클래스나 기기 자세와 같은 현재 창 구성에 따라 자동으로 조정되는 적응형 UI를 만드세요. 이 라이브러리는 기본 스캐폴드 구현과 자체 맞춤 환경을 만드는 데 필요한 빌딩 블록 컴포저블을 모두 제공합니다.
최근 업데이트 안정화 버전 출시 후보 버전 베타 버전 알파 버전
2025년 7월 2일 1.1.0 - - 1.2.0-alpha08

종속 항목 선언

Compose의 종속 항목을 추가하려면 프로젝트에 Google Maven 저장소를 추가해야 합니다. 자세한 내용은 Google Maven 저장소를 읽어보세요.

다음과 같이 앱 또는 모듈의 build.gradle 파일에 필요한 아티팩트의 종속 항목을 추가합니다.

Groovy

dependencies {
    implementation "androidx.compose.material3.adaptive:adaptive:1.2.0-alpha08"
    implementation "androidx.compose.material3.adaptive:adaptive-layout:1.2.0-alpha08"
    implementation "androidx.compose.material3.adaptive:adaptive-navigation:1.2.0-alpha08"
}

Kotlin

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

종속 항목에 관한 자세한 내용은 빌드 종속 항목 추가를 참고하세요.

의견

제출하신 의견은 Jetpack을 개선하는 데 도움이 됩니다. 새로운 문제를 발견하거나 라이브러리 개선을 위한 아이디어가 있다면 Google에 알려 주세요. 새 문제를 제출하기 전에 이 라이브러리의 기존 문제를 살펴보시기 바랍니다. 별표 버튼을 클릭하여 기존 문제에 투표할 수 있습니다.

새로운 문제 제출하기

자세한 내용은 Issue Tracker 문서를 참고하세요.

Compose Material3 적응형 버전 1.2

버전 1.2.0-alpha08

2025년 7월 2일

androidx.compose.material3.adaptive:adaptive-*:1.2.0-alpha08이 출시되었습니다. 버전 1.2.0-alpha08에는 이 커밋이 포함되어 있습니다.

버전 1.2.0-alpha07

2025년 6월 18일

androidx.compose.material3.adaptive:adaptive-*:1.2.0-alpha07이 출시되었습니다. 버전 1.2.0-alpha07에는 이 커밋이 포함되어 있습니다.

API 변경사항

  • currentWindowAdaptiveInfo() 함수가 대형 및 초대형 창 너비 크기 클래스를 지원하도록 하고 calculatePosture()currentWindowDpSize() 함수를 안정 버전으로 승격 (I92e97)

버전 1.2.0-alpha06

2025년 5월 20일

androidx.compose.material3.adaptive:adaptive-*:1.2.0-alpha06이 출시되었습니다. 버전 1.2.0-alpha06에는 이 커밋이 포함되어 있습니다.

새로운 기능

  • 이제 기본 창 스캐폴드 지시어 계산 함수가 L 및 XL 창 너비 크기 클래스를 지원합니다.

API 변경사항

  • Modifier.paneExpansionDraggable에서 기본 접근성 시맨틱스를 제공하고 관련 API를 안정화 버전으로 승격 (Idb818)
  • 부양된 창으로 드래그하여 크기 조절 지원 (Idadd3)
  • 공중에 떠 있는 창의 스크림 지원 (I9b091)

버전 1.2.0-alpha05

2025년 5월 7일

androidx.compose.material3.adaptive:adaptive-*:1.2.0-alpha05이 출시되었습니다. 버전 1.2.0-alpha05에는 이 커밋이 포함되어 있습니다.

새로운 기능

  • 이제 Material3 적응형 레이아웃에서 창을 플로팅 팝업으로 전환할 수 있는 Levitated 적응 전략을 지원합니다.

API 변경사항

  • 현재 창 크기 함수가 멀티 플랫폼을 지원하도록 함 (Ie4172)
  • 공중에 떠 있는 창의 창 모션 도입 (Ic9dc3)
  • 적응을 위한 공중 부양 전략 도입 (I1ba7c)

버그 수정

  • 적응형 샘플에서 코루틴 범위 사용 수정 (7631016)

버전 1.2.0-alpha04

2025년 4월 23일

androidx.compose.material3.adaptive:adaptive-*:1.2.0-alpha04이 출시되었습니다. 버전 1.2.0-alpha04에는 이 커밋이 포함되어 있습니다.

새로운 기능

  • 이제 ListDetailPaneScaffoldSupportingPaneScaffold에서 리플로우 전략을 사용할 수 있으며, 이 전략은 단일 창 레이아웃 설정에서 연결된 창을 리플로우합니다.

API 변경사항

  • 저장 가능한 상태 홀더를 PaneScaffoldScope에 추가 (Id9299)
  • 적응을 위한 리플로우 전략 도입 (I75c6a)

버그 수정

  • 첫 번째 전환에서 창이 애니메이션되지 않는 버그 수정 (Ib0415)
  • 선호하는 높이가 작동하지 않는 문제 수정 (I1913b)
  • 스캐폴드 디렉티브가 올바르게 업데이트되지 않는 버그 수정 (0403ab)

버전 1.2.0-alpha03

2025년 4월 9일

androidx.compose.material3.adaptive:adaptive-*:1.2.0-alpha03이 출시되었습니다. 버전 1.2.0-alpha03에는 이러한 커밋이 포함되어 있습니다.

버그 수정

  • ​​단일 창 레이아웃에 드래그 핸들이 잘못 표시되는 문제 수정 (806e443 )

종속 항목 업데이트

  • 이제 이 라이브러리는 Kotlin 2.0 언어 수준을 타겟팅하며 KGP 2.0.0 이상이 필요합니다. (Idb6b5)

버전 1.2.0-alpha02

2025년 3월 26일

androidx.compose.material3.adaptive:adaptive-*:1.2.0-alpha02이 출시되었습니다. 버전 1.2.0-alpha02에는 이러한 커밋이 포함되어 있습니다.

버전 1.2.0-alpha01

2025년 3월 12일

androidx.compose.material3.adaptive:adaptive-*:1.2.0-alpha01이 출시되었습니다. 버전 1.2.0-alpha01에는 이 커밋이 포함되어 있습니다.

API 변경사항

  • 개발자가 도입될 새로운 적응 전략에 적용될 창 선호 높이를 제공할 수 있도록 PaneScaffoldScope.preferredHeight 수정자 도입 (I957dd, b/220960090)
  • ComponentOverride 유형을 Override로, ComponentOverrideContext 유형을 OverrideScope로 이름을 바꿉니다. (Id973c)
  • 일부 구성요소 재정의 메서드의 이름을 바꿉니다. (I222b3)

Compose Material3 적응형 버전 1.1

버전 1.1.0

2025년 3월 12일

androidx.compose.material3.adaptive:adaptive-*:1.1.0이 출시되었습니다. 버전 1.1.0에는 이러한 커밋이 포함되어 있습니다.

1.0.0 이후 중요 변경사항

버전 1.1.0-rc01

2025년 2월 26일

androidx.compose.material3.adaptive:adaptive-*:1.1.0-rc01이 출시되었습니다. 버전 1.1.0-rc01에 포함된 커밋을 확인하세요.

버그 수정

  • 3개 창 스캐폴드 예측 뒤로 탐색 비율 사용 중지 (ab6fd0b)

버전 1.1.0-beta02

2025년 2월 12일

androidx.compose.material3.adaptive:adaptive-*:1.1.0-beta02이 출시되었습니다. 버전 1.1.0-beta02에는 이러한 커밋이 포함되어 있습니다.

API 변경사항

  • 상태 일관성을 유지하기 위해 MutableThreePaneScaffoldState 애니메이션 함수에서 isPredictiveBackInProgress가 설정되는 방식을 변경했습니다. (Idc97f)

버그 수정

  • 라이브러리의 나머지 부분과의 일관성을 위해 NavigableListDetailPaneScaffoldNavigableSupportingPaneScaffold의 기본 뒤로 동작이 PopUntilScaffoldValueChange로 변경되었습니다. (I873f0)
  • 창 스캐폴드의 올바른 접근성 탐색 순서를 설정합니다. (67d030)
  • 창 콘텐츠 상태가 저장되지 않는 문제 수정 (88b0ff)
  • 드래그 대신 대체 접근성 작업 지원 (28266d)
  • 현재 창 분할이 변경된 후 이를 알립니다. (0c3a80)

버전 1.1.0-beta01

2025년 1월 29일

androidx.compose.material3.adaptive:adaptive-*:1.1.0-beta01이 출시되었습니다. 버전 1.1.0-beta01에는 이 커밋이 포함되어 있습니다.

API 변경사항

  • 각각 시작과 끝에서 오프셋 유형의 창 확장 앵커를 만드는 팩토리 함수를 도입합니다. (I2eb21)
  • PaneMotion 인터페이스를 봉인하고 기본 전환 메서드를 삭제합니다. (Ifc4c7)
  • 현재 앵커를 가져오고 앵커로 애니메이션을 적용하는 API 도입 (Icf95d)
  • 창 확장 접근성 API 도입 (Icc669)
  • PaneScaffoldParentData.preferredWidth의 유형을 DP로 변경합니다. (Id98ee)

버전 1.1.0-alpha09

2025년 1월 15일

androidx.compose.material3.adaptive:adaptive-*:1.1.0-alpha09이 출시되었습니다. 버전 1.1.0-alpha09에는 이 커밋이 포함되어 있습니다.

API 변경사항

  • 새 실험용 주석 ExperimentalMaterial3AdaptiveComponentOverrideApi 추가 및 사용 (Id45aa)
  • ThreePaneScaffoldHorizontalOrder.toLtrOrder을 숨깁니다. (I6f8d2)
  • ThreePaneScaffoldPredictiveBackHandler이(가) 공개되었습니다. (I1a995, b/370543873)
  • ThreePaneScaffoldStateisPredictiveBackInProgress 속성이 추가되었습니다. (I1a995, b/370543873)
  • 다양한 폼 팩터의 사이드로드 구현을 지원하기 위해 AnimatedPane의 재정의 메커니즘 생성 (Id7622)

버그 수정

  • 고정 방향에 앵커가 없는 경우 발생하는 문제 수정 (df8257d)

버전 1.1.0-alpha08

2024년 12월 12일

androidx.compose.material3.adaptive:adaptive-*:1.1.0-alpha08이 출시되었습니다. 버전 1.1.0-alpha08에는 이 커밋이 포함되어 있습니다.

API 변경사항

  • currentWindowDpSize 함수 도입 (I99125, b/296300441)
  • PaneScaffoldParentDataThreePaneScaffoldHorizontalOrder.toLtrOrder() 노출 (I2d6b7)
  • PaneScaffoldMotionScope를 삭제하고 PaneScaffoldTransitionScope 아래의 필드로 바꿉니다. 또한 PaneScaffoldMotionDataProvider로 이름을 바꾸고 PaneMotionData의 기본 데이터 구조에 대한 액세스를 삭제합니다. 대신 데이터에 액세스하기 위한 getter 및 루핑 메서드를 제공합니다. (Id8884)
  • 다양한 폼 팩터의 사이드로드 구현을 지원하기 위해 ThreePaneScaffold의 재정의 메커니즘 생성 (I5280f)
  • 기본적으로 창 확장 상태를 null로 설정합니다. (Ia65f8, b/376394520)

버전 1.1.0-alpha07

2024년 11월 13일

androidx.compose.material3.adaptive:adaptive-*:1.1.0-alpha07이 출시되었습니다. 버전 1.1.0-alpha07에는 이러한 커밋이 포함되어 있습니다.

API 변경사항

  • 적응형 라이브러리에서 드래그 핸들 구현을 삭제하고 M3 버전을 사용하도록 권장 동시에 제공된 드래그 핸들 컴포저블에 창 확장 드래그 기능을 제공하는 수정자를 도입합니다. 필요한 경우 나중에 변경할 수 있도록 DraggableState를 구현 세부정보로 숨깁니다. (Ib50cd)
  • UXR 의견에 따라 창 동작 맞춤설정의 진입점을 스캐폴드 함수에서 AnimatedPane로 이동합니다. (I10f72)
  • 창 확장을 위한 플링 지원 및 맞춤 애니메이션 사양 도입 (Ie207d, b/362584341)

버그 수정

버전 1.1.0-alpha06

2024년 10월 30일

androidx.compose.material3.adaptive:adaptive-*:1.1.0-alpha06이 출시되었습니다. 버전 1.1.0-alpha06에는 이 커밋이 포함되어 있습니다.

API 변경사항

  • FloatRangePaneScaffoldTransitionScope.motionProgress에 추가합니다. (Iac0dd)
  • 탐색 가능한 스캐폴드에서 탐색기 매개변수의 유형을 일반 유형으로 변경 (I1da6e)

버전 1.1.0-alpha05

2024년 10월 16일

androidx.compose.material3.adaptive:adaptive-*:1.1.0-alpha05이 출시되었습니다. 버전 1.1.0-alpha05에는 이 커밋이 포함되어 있습니다.

API 변경사항

  • 더 일관된 모션 동작과 향후 확장성을 보장하기 위해 애니메이션 사양 클래스 도입 (I2d3cc)
  • 동작 유형을 제공하고 PaneMotionData의 currentXXXXX를 originXXXX로 이름을 바꿉니다. (I7c61a)

버전 1.1.0-alpha04

2024년 10월 2일

androidx.compose.material3.adaptive:adaptive-*:1.1.0-alpha04이 출시되었습니다. 버전 1.1.0-alpha04에는 이 커밋이 포함되어 있습니다.

새로운 기능

  • NavigableListDetailPaneScaffoldNavigableSupportingPaneScaffold에 뒤로 탐색 예측 지원이 추가되었습니다. (I4dc21, b/359616816)

API 변경사항

  • ThreePaneScaffoldNavigatorThreePaneScaffoldState를 추가했습니다. 애니메이션을 사용한 탐색을 지원하기 위해 탐색 메서드가 suspend로 변경되었습니다. 부분 탐색 상태 (예: 뒤로 탐색 예측)를 지원하기 위해 seekBack가 추가되었습니다. (I5a651, b/359616816)
  • 스캐폴드 값 간 전환을 제어하는 MutableThreePaneScaffoldState 추가 기존 ThreePaneScaffoldState가 읽기 전용으로 변경되었습니다. (Idb3c6)
  • 기본 창 동작 구현 노출 (I95a7b)
  • 창 확장 상태의 초기 앵커 설정 사용 설정 (Ie41b3, b/362350560)

버그 수정

버전 1.1.0-alpha03

2024년 9월 18일

androidx.compose.material3.adaptive:adaptive-*:1.1.0-alpha03이 출시되었습니다. 버전 1.1.0-alpha03에는 이러한 커밋이 포함되어 있습니다.

버전 1.1.0-alpha02

2024년 9월 4일

androidx.compose.material3.adaptive:adaptive-*:1.1.0-alpha02이 출시되었습니다. 버전 1.1.0-alpha02에는 이러한 커밋이 포함되어 있습니다.

새로운 기능

  • 제작자가 적응형 스캐폴드 상태 변경 중에 기본 동작을 변경할 수 있도록 동작 맞춤설정 (I0bf9c), (I80e66)이 지원됩니다. 제작자는 기본 진입 및 종료 전환 중에서 선택하거나 새로운 동작 범위를 통해 제공되는 정보를 사용하여 순수 맞춤 전환을 구현할 수 있습니다.
  • 창 확장 드래그 핸들의 페이드 애니메이션 구현 (46e3c69)
  • 기억된 PaneExpansionState을 저장 가능하도록 설정 (61ff76f)

API 변경사항

  • 누락된 창 확장 API를 스캐폴드에 추가 (Ic5bc0)
  • ThreePaneScaffoldDestinationItem.content에서 contentKey으로 이름이 변경되었습니다. rememberListDetailPaneScaffoldNavigatorrememberSupportingPaneScaffoldNavigator 기본 유형 인수가 Nothing에서 Any로 변경되었습니다. (I58749)
  • ThreePaneScaffoldState를 안정적으로 표시 (I64aec)
  • 드래그 핸들 매개변수의 범위를 지정합니다 (Ic0aa2).

버전 1.1.0-alpha01

2024년 8월 21일

androidx.compose.material3.adaptive:adaptive-*:1.1.0-alpha01이 출시되었습니다. 버전 1.1.0-alpha01에는 이 커밋이 포함되어 있습니다.

새로운 기능

  • 적응형 스캐폴드의 창 확장 지원 도입

API 변경사항

  • 창 확장 API를 공개에 도입 (I301d6)
  • 창 값 전환을 제어하는 ThreePaneScaffoldState 도입 이 상태를 허용하는 ListDetailPaneScaffoldSupportingPaneScaffold의 오버로드가 추가되었습니다. (I5db3b)
  • 창 확장 키 및 키 제공자 인터페이스 도입 (Id621f)

버그 수정

  • 힌지가 제외된 경우 잘못된 파티션 계산 수정 (9dfd483)

Compose Material3 적응형 버전 1.0

버전 1.0.0

2024년 9월 4일

androidx.compose.material3.adaptive:adaptive-*:1.0.0이 출시되었습니다. 버전 1.0.0에는 이 커밋이 포함되어 있습니다.

1.0.0의 주요 기능

버전 1.0.0-rc01

2024년 8월 21일

androidx.compose.material3.adaptive:adaptive-*:1.0.0-rc01이 출시되었습니다. 버전 1.0.0-rc01에는 이 커밋이 포함되어 있습니다.

버그 수정

  • 힌지가 제외된 경우 잘못된 파티션 계산 수정 (9dfd483)

버전 1.0.0-beta04

2024년 6월 26일

androidx.compose.material3.adaptive:adaptive-*:1.0.0-beta04이 출시되었습니다. 버전 1.0.0-beta04에는 이러한 커밋이 포함되어 있습니다.

버그 수정

  • 힌지 경계가 업데이트될 때 레이아웃이 그에 따라 업데이트되지 않는 문제 수정 (71e9cf1)

버전 1.0.0-beta03

2024년 6월 12일

androidx.compose.material3.adaptive:adaptive-*:1.0.0-beta03이 출시되었습니다. 버전 1.0.0-beta03에는 이러한 커밋이 포함되어 있습니다.

버그 수정

  • beta02에서 잘못된 종속 항목 해결로 인해 발생하는 비정상 종료를 수정합니다.

버전 1.0.0-beta02

2024년 5월 29일

androidx.compose.material3.adaptive:adaptive-*:1.0.0-beta02이 출시되었습니다. 버전 1.0.0-beta02에는 이러한 커밋이 포함되어 있습니다.

버전 1.0.0-beta01

2024년 5월 14일

androidx.compose.material3.adaptive:adaptive-*:1.0.0-beta01이 출시되었습니다. 버전 1.0.0-beta01에는 이 커밋이 포함되어 있습니다.

버전 1.0.0-alpha12

2024년 5월 1일

androidx.compose.material3.adaptive:adaptive-*:1.0.0-alpha12이 출시되었습니다. 버전 1.0.0-alpha12에는 이 커밋이 포함되어 있습니다.

API 변경사항

  • HingeInfoisFlat 정보 추가 (Ie0516, b/333784198)
  • 적응형 API를 실험용이 아닌 것으로 설정 (I1d038)
  • 적응형 레이아웃 API를 실험용이 아닌 것으로 설정 (Id23df)
  • BackNavigationBehavior이 enum에서 값 클래스로 변경되었습니다. (Id8757)

버그 수정

  • 전환 비율을 람다로 변경 (I6f5a9)
  • SizeTracker의 초기 상태 문제 수정 (18326a9)
  • Posture 동등성 검사에 힌지 목록 포함 (6687137)

버전 1.0.0-alpha11

2024년 4월 17일

androidx.compose.material3.adaptive:adaptive-*:1.0.0-alpha11이 출시되었습니다. 버전 1.0.0-alpha11에는 이러한 커밋이 포함되어 있습니다.

API 변경사항

  • 범위 인터페이스를 봉인합니다. (Iefa57)
  • AnimatedPaneScope를 도입합니다. (I62d73, b/332750742)
  • AdaptStrategy을 봉인하고 안정화 (Ia28b2)
  • PaneScaffoldDirective의 복사 메서드 도입 (I9291f)
  • ThreePaneScaffoldScope를 실험용으로 표시 (I9d527)
  • 탐색을 지원하는 사용하기 쉬운 스캐폴드 API를 제공합니다. (I263f0, b/321010778)

버전 1.0.0-alpha10

2024년 4월 3일

androidx.compose.material3.adaptive:adaptive-*:1.0.0-alpha10이 출시되었습니다. 버전 1.0.0-alpha10에는 이 커밋이 포함되어 있습니다.

API 변경사항

  • 기본 선호 너비를 적응형 및 맞춤설정 가능으로 설정 (Ic3abc)
  • 스캐폴드 지시어 계산 함수 이름 변경 (I10855)
  • 스캐폴드 API에서 패딩과 인셋 삭제 (I786f8)
  • 일반 유형 없이 탐색기 기억 메서드 추가 (I607c3)

버전 1.0.0-alpha09

2024년 3월 20일

androidx.compose.material3.adaptive:adaptive-*:1.0.0-alpha09이 출시되었습니다. 버전 1.0.0-alpha09에는 이러한 커밋이 포함되어 있습니다.

API 변경사항

  • ThreePaneScaffoldScope에 상태 전환 필드 추가 (I3d917)
  • 스캐폴드 매개변수를 재정렬합니다. (I4dff5)
  • AnimatedPane 수정자 매개변수의 기본값을 제공합니다. (I77dd7)

버그 수정

  • 패널 모션에 스페이서 크기 포함 (a3174ca)

버전 1.0.0-alpha08

2024년 3월 6일

androidx.compose.material3.adaptive:adaptive-*:1.0.0-alpha08이 출시되었습니다. 버전 1.0.0-alpha08에는 이 커밋이 포함되어 있습니다.

새로운 기능

  • 창을 전환할 때 지연된 슬라이딩을 구현합니다. (I1a38e)

API 변경사항

  • ThreePaneScaffoldState 인터페이스가 삭제되었습니다. (I63f23)

버전 1.0.0-alpha07

2024년 2월 21일