Compose Material 3 적응형

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

종속 항목 선언

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

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

Groovy

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

Kotlin

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

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

의견

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

새로운 문제 제출하기

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

Compose Material3 적응형 버전 1.1

버전 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)

버그 수정

  • 드래그 핸들의 최소 터치 타겟 크기를 48x48dp로 적용합니다. (7ce6635, b/366018217)
  • 구성 변경 후 고정된 위치를 복원합니다. (3c9fc6b, b/362353672)

버전 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 변경사항

  • Scaffold에 누락된 창 확장 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 변경사항

  • isFlat 정보를 HingeInfo에 추가했습니다. (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)
  • 제네릭 유형이 없는 탐색기 remember 메서드를 추가합니다. (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일