6월 3일의 ⁠#Android11: 베타 버전 출시 행사에 참여하세요.

Compose UI

최근 업데이트 현재 버전
2020년 4월 15일 0.1.0-dev09

종속 항목 선언

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

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

dependencies {
    def ui_version = "0.1.0-dev10"

    implementation 'androidx.ui:ui-tooling:$ui_version'
    implementation 'androidx.ui:ui-layout:$ui_version'
    implementation 'androidx.ui:ui-material:$ui_version'
}

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

의견

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

새 문제 만들기

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

버전 0.1.0-dev

버전 0.1.0-dev09

2020년 4월 15일

androidx.ui:ui-*:0.1.0-dev09이 출시되었습니다. 버전 0.1.0-dev09에 포함된 커밋을 확인하세요.

API 변경사항

  • 정렬을 임의의 값으로 인스턴스화할 수 있게 만들었습니다. 1D 정렬을 추가했습니다. (Ia0c05)
  • alignToSiblings now accepts aMeasuredinstead ofPlaceable`.(I5788d)
  • (I45f09, b/152842521)
    • ScaleFit의 이름이 ContentScale로 변경되었습니다.
    • Alignment API와 동일한 모듈에 위치하도록 ContentScaleui-graphics에서 ui-core 모듈로 이동했습니다.
    • FillMaxDimension의 이름이 Crop으로 변경되었습니다.
    • FillMinDimension의 이름이 Fit으로 변경되었습니다.
    • ImageView.ScaleType에 상응하는 항목에 더 일치하도록 Fit의 이름이 Inside로 변경되었습니다.
    • CropAlignment.Center의 조합이 ImageView.ScaleType.CENTER_CROP과 동일한 결과를 얻으며 FitAlignment.Center와 함께 사용하면 ImageView.ScaleType.FIT_CENTER와 동일한 결과를 얻는다는 점을 나타내는 문서를 추가했습니다.
    • InsideAlignment.Center와 함께 사용하면 ImageView.ScaleType.CENTER_INSIDE와 동일한 결과를 얻습니다.
  • 그리기 수정자에 RTL 지원을 추가합니다. (I0aaf9)
  • XML에서 Android 뷰를 확장하는 API를 출시했습니다. 자세한 내용은 ViewInCompose 데모를 참조하세요. (I42916)
  • LayoutCoordinates용으로 positionInParentboundsInParent를 추가했습니다. (Icacdd, b/152735784)
  • 이제 DrawLayerModifierdrawLayer()clipToBoundsclipToOutlinefalse로 기본 설정합니다. (I0eb8b, b/152810850)
  • LayoutResult의 이름이 MeasureResult로 변경되었습니다. (Id8c68)
  • 레이아웃 수정자를 정의하는 새 API인 LayoutModifier2를 추가했으며, LayoutModifier를 지원 중단했습니다. (If32ac)
  • ProvideContentColor를 삭제합니다. 대신 ContentColorAmbientProviders에 직접 사용하면 됩니다. (Iee942)
  • 텍스트에 색상 매개변수를 추가하여 테마에 제공된 스타일과 수동으로 병합하지 않고도 텍스트 스타일의 색상을 재정의할 수 있습니다. (I41a66)
  • 도형 테마 설정 시스템이 머티리얼 디자인 사양에 따라 업데이트됩니다. 이제 대부분의 구성요소에 사용되는 소형, 중형, 대형 도형을 제공할 수 있습니다. (Ifb4d1)
  • LayoutDirectionAmbient가 지원 중단되었습니다. 언어로 정의된 레이아웃 방향을 읽으려면 ConfigurationAmbientlocaleLayoutDirection을 사용합니다. (I851b1)
  • LifecycleOwnerAmbient를 사용할 수 있습니다. 이제 Compose UI와 함께 사용 중인 활동이 androidx.activity.ComponentActivity(또는 AppCompatActivity)를 확장해야 합니다. android.app.ActivitysetContent가 이제 지원 중단되었습니다. (Idb25a, b/153141084)
  • 팝업에 RTL이 지원됩니다. (Ib6657)
  • ClipboardManager를 추가합니다. (I1dd2b)
  • ConstraintLayout의 하위 요소에 관한 맞춤 측정기준을 위한 지원을 추가했습니다. (Idb1a5)
  • OnChildPositioned를 삭제했습니다. 대신 개발자는 Modifier.onChildPositioned 수정자를 사용해야 합니다. (I5ade7, b/151141173, b/151641453, b/151818355)
  • Compose API와 Android 프레임워크 API 사이의 객체 변환을 위한 이름 지정 규칙과 일치시키기 위해 toFrameworkRect/toFrameworkRectF의 이름을 toAndroidRect/toAndroidRectF로 변경했습니다. 이 API의 문서도 업데이트했습니다. (I86337)
  • EdgeInsets의 이름이 InnerPadding으로 변경되었습니다. 머티리얼 버튼의 innerPadding 매개변수 이름이 padding으로 변경되었습니다. (I66165)
  • 내장된 측정에 크기 조정을 위한 수정자를 추가하고 이 목적으로 사용되는 구성요소를 지원 중단했습니다. (I8295d)
  • 지원 중단된 WrapCenter 컴포저블을 삭제했습니다. (I29e23)
  • 슬라이더가 이제 상태를 추적하지 않습니다. 사용자는 다른 컨트롤의 경우처럼 직접 상태를 전달하고 업데이트해야 합니다. (Ia00aa)
  • StaticDrawer가 삭제되었습니다. 필요한 경우 대신 Box를 머티리얼 사양의 너비로 하여 사용합니다. (I244a7)
  • ListItem에 수정자 매개변수를 추가하고 매개변수를 재정렬하여 후행 람다 본문의 순위를 올렸습니다. (I66e21)
  • TypographydefaultFontFamily 생성자 매개변수를 추가했습니다. 이제 글꼴 모음이 설정되지 않은 TextStyle이 제공된 경우 여기에 사용될 기본 글꼴 모음을 지정할 수 있습니다. (I89d07)
  • API 노출 영역에서 머티리얼 데이터 테이블을 일시적으로 삭제했습니다. (Iaea61)
  • Divider 컴포저블에서 매개변수의 이름을 변경했습니다. (Ic4373)
  • 다수의 머티리얼 구성요소를 고려하여 'children' 후행 매개변수의 이름이 변경되었습니다. 이름이 지정된 매개변수를 통해 이 매개변수를 사용(또는 후행 람다 구문을 사용)한 경우 새 이름을 사용하세요. (Ia6d19)
  • MaterialTheme.emphasisLevels를 삭제합니다. 강조 수준을 가져오려면 대신 EmphasisAmbient.current를 사용하세요. (Ib5e40)
  • 이제 null을 허용하는 유형과 함께 savedInstanceState()를 사용할 수 있습니다. (I6847f, b/153532190)
  • RxJava2용 어댑터가 있는 새 아티팩트인 ui-rxjava2를 추가했습니다. (Ifab4b, b/153369097)

    • 사용 예:
    val value by observable.subscribeAsState()
        
  • LiveData용 어댑터가 있는 새 아티팩트인 ui-livedata를 추가했습니다. (Ie9e8c, b/150465596)

    • 사용 예:
    val value by liveData.observeAsState()
        

버그 수정

  • verticalGravityhorizontalGravity 매개변수를 각각 RowColumn에 추가했습니다. (I7dc5a)
  • ui-text module was renamed asui-text-core` (I57dec)
  • DrawModifier API가 개선되었습니다. (Ibaced, b/152919067)
    • 수신기 범위를 draw() ContentDrawScope로 설정했습니다.
    • draw()의 모든 매개변수가 삭제되었습니다.
    • DrawScope의 인터페이스가 이전 CanvasScope와 동일합니다.
    • ContentDrawScopedrawContent() 메서드를 갖습니다.
  • runOnIdleComposerunOnUiThread는 이제 ComposeTestRule의 메서드가 아니라 전역 함수입니다. (Icbe8f)
  • [변경 가능] 상태 속성 위임 연산자가 Kotlin 1.4 속성 위임 최적화를 지원하기 위해 확장 프로그램으로 이동했습니다. by state { ... } 또는 by mutableStateOf(...)를 계속 사용하려면 호출자가 가져오기를 추가해야 합니다. (I5312c)
  • ColoredRect가 지원 중단되었습니다. 대신 Box(Modifier.preferredSize(width, height).drawBackground(color))를 사용하세요. (I499fa, b/152753731)
  • activity.setContent { } 블록에 배치하는 첫 번째 레이아웃을 측정하는 방법을 변경했습니다. 이전에는 전체 활동 화면을 채워야 했지만 이제는 스택에 레이아웃을 배치한 것처럼 동작합니다. 즉, 레이아웃이 화면보다 작을 수 있으며 화면 왼쪽 상단에 배치됩니다. 이전 동작을 사용하려면 레이아웃에 Modifier.fillMaxSize()를 적용하면 됩니다. (Ie88a7, b/153453714)
  • ui-text-compose 모듈의 이름이 ui-text로 변경되었습니다. 이제 ui-textCoreTextCoreTextField 컴포저블이 포함됩니다. (Ib7d47)
  • ui-framework/CoreText, CoreTextField 컴포저블을 ui-text-compose 아래로 이동했습니다. 프로젝트에 ui-text-compose를 포함해야 하는 경우도 있습니다. (I32042)
  • 임의의 Alignment가 아닌 세로 또는 가로 Alignment를 예상하도록 wrapContentWidthwrapContentHeight를 업데이트했습니다. 세로 또는 가로 Alignment를 허용하도록 중력 수정자를 업데이트했습니다. 맞춤 연속 Alignment를 지원하도록 Row, Column, Stack을 업데이트했습니다. (Ib0728)
  • ImageAsset에서 픽셀 정보를 쿼리하도록 지원하는 PixelMap API를 만들었습니다. (I69ad6)
  • 머티리얼 디자인의 채워진 텍스트 입력란 구현을 추가했습니다. (Ic75cd)
  • androidx 정책과 일치하도록 ui-android-text 패키지 이름(androidx.text)을 androidx.ui.text.platform으로 바꿨습니다. (I42711)

버전 0.1.0-dev08

2020년 4월 1일

androidx.ui:ui-*:0.1.0-dev08이 출시되었습니다. 버전 0.1.0-dev08 에 포함된 커밋을 확인하세요.

API 변경사항

  • 특정 레이어의 그리기 명령어 표시 목록의 오프셋을 지원하는 translationX/Y 속성을 추가했습니다. 애니메이션 또는 터치 이벤트에 응답하여 콘텐츠를 이동하는 데 유용합니다. (I8641c)
  • 특정 지점을 기준으로 레이어의 회전 및 확장을 지원하도록 Layer API에 pivotX, pivotY 매개변수를 추가했습니다. (Icf7c3)
  • 드래그 가능 항목을 수정자로 이동했습니다. (Id9b16, b/151959544)
  • Textandroidx.ui.core에서 androidx.ui.foundation 패키지로 이동했습니다. (I87ce5)
  • 체크박스, 스위치, 전환 가능 항목에 enabled 매개변수를 추가했습니다. (I41c16)
  • 물결 효과는 이제 수정자입니다. Clickable이 아직 전환되지 않은 동안 권장되는 사용법은 Clickable(onClick = { ... }, modifier = ripple())입니다. (Ie5200, b/151331852, b/150060763)
  • 벡터 그래픽용 기존 하위 구성 API를 대체하는 VectorPainter API를 추가했습니다. 하위 구성의 결과는 DrawModifier가 아닌 VectorPainter 객체입니다.
    • 이전 DrawVector 컴포저블을 지원 중단하고 VectorPainter로 대체했습니다.
    • Image(Painter) API의 이름이 PaintBox(Painter)로 변경되었습니다.
    • Image 컴포저블처럼 작동하는 Vector 컴포저블을 만들었습니다(단, ImageAsset 대신 VectorAsset이 사용됨). (I9af9a) (b/149030271)
  • ParentData 컴포저블이 지원 중단되었습니다. ParentDataModifier 인터페이스를 구현하는 수정자를 만들거나, 측정 블록 내에서 인식되도록 레이아웃 하위 요소를 태그 지정하면 되는 경우 LayoutTag 수정자를 사용해야 합니다. (I51368, b/150953183)
  • OnPositioned를 삭제하고 onPositioned 수정자로 대체했습니다. (I2ea3c)
  • 이제 RowColumn 외부에서 RowScope 멤버와 ColumnScope 멤버에 액세스할 수 있습니다. (I3a641)
  • Container가 지원 중단되었습니다. 대신 Box를 사용하세요. (I675ce, b/151407926)
  • 프리미티브 대신 구성 가능한 람다를 허용하는 FloatingActionButton API를 리팩터링했습니다. 사용법 정보는 업데이트된 샘플을 참조하세요. (I00622)
  • 새 함수: savedInstanceState()rememberSavedInstanceState()입니다. 각각 state()remember()와 유사하지만 저장된 인스턴스 상태 지원이 내장되어 있습니다. (If1987, b/152025209)

버그 수정

  • 수정자 + 연산자를 팩토리 확장 함수로 대체했습니다. (I225e4)
  • Center 컴포저블을 지원 중단했습니다. LayoutSize.Fill + LayoutAlign.Center 수정자로 대체하거나 적절한 수정자가 적용된 Box 또는 Stack 컴포저블 중 하나로 대체합니다. (Idf5e0)
  • MaterialTheme API(예: MaterialTheme.colors(), MaterialTheme.typography())를 함수가 아닌 속성으로 변경했습니다. 기존 호출에서 괄호를 삭제했지만, 동작 변경은 필요하지 않습니다. (I3565a)

버전 0.1.0-dev07

2020년 3월 18일

androidx.ui:ui-*:0.1.0-dev07이 출시되었습니다. 버전 0.1.0-dev07에 포함된 커밋을 확인하세요.

API 변경사항

  • ManualAnimationClock에 API 추가: hasObservers: Boolean 및 생성자 매개변수 dispatchOnSubscribe: Boolean (Iaa134)
  • OnPositioned 및 OnChildPositioned 구성 가능 함수를 대체할 OnPositionedModifier 및 OnChildPositionedModifier를 추가합니다. (I2ec8f)
  • Layout의 RenderNode를 추가할 수 있는 수정자인 LayerModifier를 추가했습니다. 자르기, 불투명도, 회전, 확장, 그림자를 설정할 수 있습니다. RepaintBoundary를 대체합니다. (I7100d, b/150774014)
  • 레이아웃 방향을 상위 요소 레이아웃 노드에서 하위 요소로 전파되도록 만들었습니다. 레이아웃 방향 수정자를 추가했습니다. (I3d955)
  • 지정된 ImageAsset을 화면에 그리는 것 외에 크기 조정/레이아웃도 처리하는 Image 컴포저블을 만들었습니다. 이 컴포저블은 또한 고유의 크기를 고려하면서도 주어진 고정 크기나 최소 크기를 지원하며 임의의 Painter 인스턴스 그리기를 지원합니다. (Ibcc8f)
  • Image 데이터와 레이아웃에 참여하고 콘텐츠를 그리는 데 사용되는 예정된 Image 컴포저블 사이의 차이를 더 잘 구분하기 위해 Image 이름을 ImageAsset으로 변경했습니다. (Id5bbd)
  • 기존 Android 애플리케이션 개발을 작성 프레임워크와 결합하는 데 유용한 ImageAsset 인스턴스를 만들 수 있도록 android.graphics.Bitmap, Bitmap.asImageAsset()에서 확장 메서드를 만들었습니다. (Id5bbd)
  • androidx.compose.ViewComposerandroidx.ui.node.UiComposer로 이동하고 androidx.compose.Compose.subcomposeIntoandroidx.ui.core.subcomposeInto로 이동했습니다. (Idef00)
  • 하위 요소의 vararg를 허용하는 레이아웃 컴포저블 함수를 삭제했습니다. (I8f7f6)
  • WithConstraintsLayoutDirection 매개변수를 사용했습니다. (I6d6f7)
  • 레이아웃 위치 오프셋을 위한 LayoutOffset 수정자를 추가했습니다. (I0b8a3)
  • Surface 및 Card를 androidx.ui.material.surface에서 androidx.ui.material로 이동했습니다. (I88a6d) (b/150863888)

버그 수정

  • LayoutFlexible 이름을 LayoutWeight로 변경했습니다. tight 매개변수 이름을 fill로 변경했습니다. (If4738)
  • 불투명도 구성 가능 함수를 drawOpacity 수정자로 대체했습니다. (I5fb62)
  • AndroidComposeTestRule을 사용한 테스트가 이제 수동 일시중지, 계속, 진행을 허용하는 애니메이션 클록을 구성 루트에서 제공합니다. (Id54c5)
  • RepaintBoundary를 삭제하고 DrawLayerModifier로 대체했습니다. (I00aa4)
  • 이제 Button, FloatingActionButton, Clickable에 별도의 enabled 매개변수가 있습니다. Button의 일부 매개변수가 이름이 변경되거나 재정렬되었습니다. (I54b5a)
  • 일반적인 구성 가능 함수인 DrawVector를 레이아웃의 배경으로 벡터를 그리는 수정자 drawVector()를 반환하는 기능으로 변경했습니다. (I7b8e0)
  • 구성 가능 함수 Clip을 수정자 drawClip()으로 대체합니다. DrawClipToBounds는 사각형에서 레이어 경계에 맞춰 잘라내야 하는 경우에만 사용하기 편리한 수정자입니다. (If28eb)
  • DrawShadow 구성 가능 함수를 drawShadow() 수정자로 대체했습니다. 이제 그림자가 LayerModifier의 일부로 그려집니다. (I0317a)
  • Wrap 컴포저블을 지원 중단했습니다. LayoutAlign 수정자나 Stack 컴포저블로 대체할 수 있습니다. (Ib237f)
  • Painter.toModifier 이름을 Painter.asModifier로 변경했으며, 새로 만든 Modifier에는 여러 Modifier 인스턴스에서 공유할 수 있는 원래 Painter에 관한 참조가 있습니다. (I7195b)
  • 이제 LayoutPadding에서 음수 패딩이 허용되지 않습니다. 음수 위치 오프셋을 위해서는 대신 LayoutOffset을 사용해야 합니다. (Ifb5b1)

버전 0.1.0-dev06

2020년 3월 4일

androidx.ui:ui-*:0.1.0-dev06가 출시되었습니다. 0.1.0-dev06에 포함된 커밋을 확인하세요.

API 변경사항

  • 스택 구성요소가 오른쪽에서 왼쪽 방향을 지원합니다. (Ic9e00)
  • 작성 레이아웃에서 RTL을 최초로 지원합니다. (Ia5519)
  • Icon, IconButton, IconToggleButton을 추가하고 AppBarIcon을 삭제했습니다. 기존의 AppBarIcon 사용을 IconButton으로 직접 대체할 수 있으며, 이제 터치 타겟이 올바르게 지정됩니다. 사용법 정보는 샘플을 참조하고, 이러한 구성요소와 함께 직접 사용할 수 있도록 제공되는 머티리얼 아이콘을 확인하려면 아이콘을 참조하세요. (I96849)
  • String 매개변수가 있는 Snackbar API를 삭제했으며 구성 가능한 람다를 허용하는 오버로드를 사용합니다. 사용법 정보는 업데이트된 샘플을 참조하세요. (I55f80)
  • texticon 람다를 허용하도록 Tab API를 리팩터링했습니다. (Ia057e)
  • BottomNavigation 구성요소를 추가했습니다. 사용법 정보는 문서와 샘플을 참조하세요. (I731a0)
  • 맞춤형 의미론적 작업의 호출을 지원합니다. (I8c818)

버그 수정

  • LayoutPadding 수정자의 오른쪽에서 왼쪽 방향을 지원합니다. (I9e8da)

버전 0.1.0-dev05

2020년 2월 19일

androidx.ui:ui-*:0.1.0-dev05가 출시되었습니다. 버전 0.1.0-dev05에 포함된 커밋을 확인하세요.

API 변경사항

  • Painter API를 추가했습니다. 콘텐츠 그리기를 지정 영역에 추출하는 API를 만들었습니다. Drawable API와 비슷하게 동작하지만 API 노출 영역이 더 간소화되었습니다. 또한 알파와 같은 다양한 효과를 적용하고 임의의 그리기 구현에 ColoFilter를 적용하도록 일반적으로 구현했으며 구현 자체에서 이러한 기능에 더 최적화된 지원을 제공할 수 있습니다. (aosp/1214802)
  • Ambient API에 브레이킹 체인지가 있습니다. 자세한 내용은 로그와 Ambient<T> 문서를 참조하세요. (I4c7ee, b/143769776)
  • providedAlignmentLine이 지도가 아닌 세트가 되도록, 그리고 LayoutCoordinate가 값을 검색하는 대신 get() 연산자를 구현하도록 LayoutCoordinate를 변경했습니다. 이에 따라 수정자별로 새 컬렉션을 만들지 않고도 수정자가 세트의 값 하나 이상을 더 쉽게 수정할 수 있습니다. (I0245a)
  • LayoutCoordinate에 더 이상 위치 속성이 없습니다. 위치 속성은 LayoutModifier, 회전 또는 크기 조정을 고려할 때 의미가 없습니다. 대신 개발자는 parentCoordinate 및 childToLocal()을 사용하여 LayoutCoordinate 간의 변환을 계산해야 합니다.
  • LayoutCoordinate는 크기 속성으로 PxSize가 아닌 IntPxSize를 사용합니다. Layout은 레이아웃에 정수 픽셀 크기를 사용하므로, 모든 레이아웃 크기에 부동 소수점 값이 아닌 정수를 사용해야 합니다. (I9367b)
  • 표시되는 항목만 작성하고 배치하는 스크롤 목록 구성요소인 AdapterList를 추가했습니다. 현재 알려진 문제는 이 기능이 세로 모드에만 가능하고 하위 요소에서 발생하는 모든 변경 사례를 완전히 처리하지는 않는다는 점입니다. (Ib351b)
  • Compose 내부에 Android 뷰를 삽입하기 위한 초기 지원을 추가합니다. 자세한 내용은 ViewInCompose.kt 데모를 참조하세요. (I6d1ce)
  • 더 이상 사용 가능한 공간을 채우지 않도록 LayoutAlign을 업데이트했습니다. (I2b14f)
  • androidx.ui:ui-material-icons-coreandroidx.ui:ui-material-icons-extended 모듈을 추가했습니다. androidx.ui:ui-material-icons-extended를 이용하여 Compose 내에서 모든 머티리얼 아이콘(material.io/icons)을 직접 사용할 수 있습니다. 가장 일반적으로 사용되는 아이콘을 포함한 작은(현재는 3개이며 앞으로 확장 예정) 하위집합이 기본 ui-material 라이브러리의 일부로 직접 포함되므로, 개발자는 메뉴와 같은 아이콘을 사용하기 위해 이 큰 종속 항목을 추가할 필요가 없습니다. 자세한 내용 및 연결된 샘플을 보려면 androidx.ui.material.icons.Icons 문서를 참조하세요.
  • AspectRatio 컴포저블을 삭제하고 수정자로 대체했습니다. 더 이상 사용되지 않는 FlexColumn, FlexRow 컴포저블 및 Spacing 수정자를 삭제했습니다. (Iec8a7)
  • ButtonStyle을 고유 함수로 대체했으며 텍스트(문자열) 오버로드를 삭제했습니다. 사용법 정보는 업데이트된 버튼 샘플을 참조하세요. (If63ab, b/146478620, b/146482131)

버그 수정

  • Density와 DensityScope를 하나의 인터페이스로 병합했습니다. 이제 ambientDensity() 대신 DensityAmbient.current를 사용할 수 있고 withDensity(density) 대신 with(density)를 사용하면 됩니다. (I11cb1)

알려진 문제

  • 구성요소의 의미론적 속성 변경으로 하위 요소의 모든 상태가 잘못 손실되어 애니메이션 및 재구성 시 상태 지속에 의존해야 하는 다른 항목에서 중단이 발생합니다. 현재는 람다를 비교할 수 없기 때문에 이 문제에는 스크롤러와 같이 비 remember 람다를 사용하는 의미론적 작업을 정의하는 모든 구성요소가 포함됩니다. 이 문제는 다음 버전에서 수정될 예정입니다. (b/148606417)

버전 0.1.0-dev04

2020년 1월 29일

androidx.ui:ui-*:0.1.0-dev04가 출시되었습니다. 이 버전에 포함된 커밋은 여기에서 확인할 수 있습니다.

API 변경사항

  • 포인터 ID를 범용적으로 고유하게 만듭니다. (I42cde)
  • 시맨틱 노드 병합 (aosp/1138236)
  • 제약 조건의 API 노출 영역 개선 (I0fd15)
  • PathParserPathNode/PathCommand를 리팩터링했습니다. (I715ae)
  • DpConstraints의 API 노출 영역 업데이트 (I712a0)
  • 여러 인터페이스를 구현하는 수정자에 대한 지원을 추가했습니다. (I22c16)
  • 동작 감지기의 나머지 부분 취소를 구현했습니다. (I349f4)
  • 색상에 Color.compositeOver()를 추가했습니다. (I5379d)
  • androidx.ui:ui-core의 불필요한 클래스 ImageByteFormat, ImageRepeat, Matrix2를 삭제합니다. (I45e6b)
  • Compose 프로젝트에서 증분 Kotlin 컴파일을 사용 설정했습니다. (b/144304390)
  • +로 수정자를 연결합니다. (Ic33d3)
  • LayoutTag 수정자를 추가했습니다. (I69fe4)
  • TextStyle에 ParagraphStyle 속성을 추가합니다. (If0d40)
  • 수정된 레이아웃의 노출 영역에 그릴 수 있는 수정자 유형인 DrawModifier를 추가했습니다. (I5fa56)
  • 수정자 저장소 위치를 상대적으로 변경합니다. (I5977f)
  • 요소에 스와이프를 수행하기 위한 테스트 API를 추가했습니다. (I9125a)
  • 레이아웃과 그리기 공통 기능을 결합하기 위한 Box 구성요소를 추가했습니다. (I6e2a7)
  • 이제 스크롤러가 네이티브 Android 플링 모션 동작을 표시합니다. (b/147493715)
  • DrawBorder를 테두리 수정자로 대체했습니다. (Id335a)
  • 스크롤러 동작 감지가 향상되었습니다. (I87d36)
  • 파운데이션에 contentColor 메타데이터를 추가합니다. (Icd074)
  • Scaffold 머티리얼 구성요소가 추가되었습니다. Scaffold는 기본 머티리얼 디자인의 시각적 레이아웃 구조를 구현합니다. (I7731b)
  • 버튼에 새 노출 영역의 매개변수 contentColor를 사용합니다. (b/146210556)
  • textStyle.withOpacity()를 삭제했습니다. (I8cc9a)
  • 강조 하위 시스템을 추가합니다. (Ife95c)
  • 이제 FloatingActionButtonKt FAB 속성이 비공개로 설정됩니다. (I9c121)
  • 스낵바의 첫 번째 반복을 구현했습니다. (If1c08)
  • 어두운 테마를 위한 초기 지원을 추가했습니다. (I6323a)
  • GestureScope에 size, center 및 localToGlobal을 추가했습니다. (I1ea37)
  • 더블클릭 동작을 삽입하기 위한 API를 추가했습니다. (I44902)
  • GestureScopesendLongClick methods를 추가했습니다. (Ic7db9)
  • 동작 삽입에서 (x, y)를 PxPosition으로 변환합니다. (Ifefa4)
  • 삽입된 동작에 원하는 속도를 추가했습니다. (I3b9df)
  • Compose 테스트 API(androidx.ui:ui-test)에 비트맵 캡처를 추가했습니다. (I4e36c)
  • doClickGestureScope로 이동했습니다. (I56211)
  • findBySubstring 및 상응하는 필터를 FindersKt에 추가했습니다. (Ief0b9)
  • 텍스트 선택 경계를 1 Char로 리팩터링했습니다. (Iff757)
  • TextSpan을 삭제했습니다. (Iebece)
  • 구성 클래스를 삭제하고 컴포저 기본 클래스로 대체합니다. (Ieadbf)
  • Dp를 사용하도록 벡터 defaultWidth/defaultHeight를 변경했습니다. (Iad267)
  • 인라인 구성 가능한 호출을 중심으로 그룹을 올바르게 생성합니다. (Ibf739)
  • 동작 감지기에서 플래그 프로토타입 생성을 사용 설정했습니다. (I4b7b0)
  • maxLines 및 ellipsis 인수를 null이 허용되는 값에서 null이 아닌 값으로 변경합니다. (I46dac)
  • 이제 AnnotatedString에서 SpanStyle을 사용합니다. (Ib6d3e)
  • WithConstraints의 수정자 지원을 추가했습니다. (b/145399789)
  • 단락 스타일을 TextDelegate에 전달합니다. (Id2d4a)
  • SpanStyle 클래스를 추가했습니다. (Ifdb4f)
  • TextGeometricTransform에서 null이 허용되는 부동 소수점 수 대신 기본값을 사용합니다. (I1bf00)
  • androidx.ui:ui-toolingPreviewActivity를 추가했습니다. (Ic8988)
  • 이제 ModelObserver는 단일 스레드입니다. (b/146144712)
  • ModelObserver의 벤치마크를 추가했습니다. (Ia176b)
  • PointerInputNode가 트리에서 삭제될 때 취소 콜백을 호출합니다. (I7112a)
  • 행 및 열의 LayoutInflexible 수정자를 삭제했습니다. (I0d820)
  • ParentDataModifier에서 레이아웃 수정자를 상속합니다. (I49b6a)
  • 래핑된 수정자를 추가했습니다. (I6f8df)
  • 정렬된 수정자를 추가했습니다. (Ifc581)
  • Compose에 제약 조건 레이아웃을 추가했습니다. (I175ad)

리팩터링

  • androidx.ui:ui-core에서 androidx.ui:ui-graphics로 그래픽을 이동했습니다. (Ic17b0)
  • Dp, IntPx 등의 모듈 및 패키지를 androidx.ui:ui-unitandroidx.ui:ui-util로 변경했습니다. (I45fe4)
  • 효과를 @Composable로 리팩터링했습니다. Ie2686)