Compose Material 3 적응형

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

종속 항목 선언

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-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일