Compose UI
androidx.compose.ui
androidx.compose.ui.geometry
androidx.compose.ui.graphics
androidx.compose.ui.platform
androidx.compose.ui.test
ïŒãã¹ãŠã® Compose ããã±ãŒãžã«ã€ããŠã¯ãAPI ãªãã¡ã¬ã³ã¹ ããã¥ã¡ã³ããã芧ãã ããïŒ
ææ°ã®æŽæ° | å®å®çãªãªãŒã¹ | ãªãªãŒã¹åè£ç | ããŒã¿çãªãªãŒã¹ | ã¢ã«ãã¡çãªãªãŒã¹ |
---|---|---|---|---|
2025 幎 8 æ 27 æ¥ | 1.9.0 | - | - | 1.10.0-alpha02 |
æ§é
Compose ã¯ãandroidx
å
ã® 7 ã€ã® Maven Group ID ãçµã¿åããããã®ã§ããåã°ã«ãŒãã«ã¯ããããã®ç®çã«å¿ã㊠Compose ã®æ©èœã®ãµãã»ãããå«ãŸããŠãããããããã«åºæã®ãªãªãŒã¹ããŒãããããŸãã
次ã®è¡šã«ãåã°ã«ãŒãã®èª¬æãšãããããã®ãªãªãŒã¹ããŒãã®ãªã³ã¯ã瀺ããŸãã
ã°ã«ãŒã | 説æ |
---|---|
compose.animation | Jetpack Compose ã¢ããªå ã§ã¢ãã¡ãŒã·ã§ã³ãäœæããŠããŠãŒã¶ãŒ ãšã¯ã¹ããªãšã³ã¹ãé«ããŸãã |
compose.compiler | @Composable 颿°ã倿ããKotlin ã³ã³ãã€ã© ãã©ã°ã€ã³ã§æé©åãæå¹ã«ããŸãã |
compose.foundation | ããã«äœ¿çšã§ãããã«ãã£ã³ã° ãããã¯ã§ Jetpack Compose ã¢ããªãäœæããåºç€ãæ¡åŒµããŠç¬èªã®ãã¶ã€ã³ ã·ã¹ãã èŠçŽ ãæ§ç¯ããŸãã |
compose.material | ããã«äœ¿çšã§ãããããªã¢ã« ãã¶ã€ã³ ã³ã³ããŒãã³ãã§ Jetpack Compose UI ãæ§ç¯ããŸããCompose ã®äžäœã¬ãã«ã®ãšã³ã㪠ãã€ã³ãã§ãããwww.material.io ã®ã¬ã€ãã©ã€ã³ãšé©åããã³ã³ããŒãã³ããæäŸããããã«èšèšãããŠããŸãã |
compose.material3 | ãããªã¢ã« ãã¶ã€ã³ã®é²åçã§ãããããªã¢ã« ãã¶ã€ã³ 3 ã³ã³ããŒãã³ãã§ Jetpack Compose UI ãæ§ç¯ããŸãããããªã¢ã« 3 ã«ã¯ãææ°ã®ããŒãèšå®ãšã³ã³ããŒãã³ãããã€ããã㯠ã«ã©ãŒãªã©ã® Material You ã®ããŒãœãã©ã€ãºæ©èœãå«ãŸããŠãããAndroid 12 ã®æ°ããèŠèŠçã¹ã¿ã€ã«ãšã·ã¹ãã UI ãšèª¿åããããã«èšèšãããŠããŸãã |
compose.runtime | Compose ã®ããã°ã©ãã³ã° ã¢ãã«ãšç¶æ 管çã®åºæ¬ãã«ãã£ã³ã° ãããã¯ãšãCompose ã³ã³ãã€ã© ãã©ã°ã€ã³ãã¿ãŒã²ãããšããã³ã¢ã©ã³ã¿ã€ã ã |
compose.ui | ã¬ã€ã¢ãŠããæç»ãå ¥åãªã©ã®ããã€ã¹æäœã«å¿ èŠãª Compose UI ã®åºæ¬ã³ã³ããŒãã³ãã |
äŸåé¢ä¿ã®å®£èš
Compose ãžã®äŸåé¢ä¿ã远å ããã«ã¯ãGoogle ã® Maven ãªããžããªããããžã§ã¯ãã«è¿œå ããå¿ èŠããããŸãã詳ããã¯ãGoogle ã® Maven ãªããžããªãã芧ãã ããã
ã¢ããªãŸãã¯ã¢ãžã¥ãŒã«ã® build.gradle
ãã¡ã€ã«ã«ãå¿
èŠãªã¢ãŒãã£ãã¡ã¯ãã®äŸåé¢ä¿ã远å ããŸãã
Groovy
dependencies { implementation "androidx.compose.ui:ui:1.9.0" } android { buildFeatures { compose true } composeOptions { kotlinCompilerExtensionVersion = "1.5.15" } kotlinOptions { jvmTarget = "1.8" } }
Kotlin
dependencies { implementation("androidx.compose.ui:ui:1.9.0") } android { buildFeatures { compose = true } composeOptions { kotlinCompilerExtensionVersion = "1.5.15" } kotlinOptions { jvmTarget = "1.8" } }
äŸåé¢ä¿ã«ã€ããŠè©³ããã¯ããã«ãäŸåé¢ä¿ã®è¿œå ãã芧ãã ããã
ãã£ãŒãããã¯
ãå¯ãããã ãããã£ãŒãããã¯ã¯ Jetpack æ¹åã®åèã«ãããŠããã ããŸããæ°ããåé¡ãèŠã€ãã£ãå Žåãããã®ã©ã€ãã©ãªãæ¹åããã¢ã€ãã¢ããæã¡ã®å Žåã¯ããç¥ãããã ãããæ°ããåé¡ãå ±åããŠããã ãåã«ããã®ã©ã€ãã©ãªã®æ¢åã®åé¡ãã確èªãã ãããã¹ã¿ãŒãã¿ã³ãã¯ãªãã¯ãããšãæ¢åã®åé¡ã«æç¥šã§ããŸãã
æ°ããåé¡ãå ±åãã
詳现ã«ã€ããŠã¯ãIssue Tracker ã®ããã¥ã¡ã³ããã芧ãã ããã
ããŒãžã§ã³ 1.10
ããŒãžã§ã³ 1.10.0-alpha02
2025 幎 8 æ 27 æ¥
androidx.compose.ui:ui-*:1.10.0-alpha02
ããªãªãŒã¹ãããŸãããããŒãžã§ã³ 1.10.0-alpha02 ã«ã¯ããããã® commit ãå«ãŸããŠããŸãã
API ã®å€æŽ
FillableData
ãæŽæ°ããŠããã°ã«ããªã¹ããªã©ã®ããã¹ã以å€ã®ã³ã³ããŒãã³ãããµããŒãããŸããããã«ã¯ãFillableData
å ã®ããŒã«å€ãšæŽæ°å€ãããã³ãã©ãããã©ãŒã ã®AutofillValue
ã«å€æãããFillableData
ã®ããŒã«å€ãšãªã¹ãã®ã€ã³ã¹ã¿ã³ã¹ãäœæãããã¡ã¯ã㪠ã³ã³ã¹ãã©ã¯ã¿ãå«ãŸããŸããé¢é£ããã»ãã³ãã£ã㯠ããããã£ãšã¢ã¯ã·ã§ã³ã远å ãããŸããïŒIa8105ãIcc5cfïŒ- ã¿ããã¢ãŒã以å€ã®å Žåããã¥ãŒã·ã¹ãã ã¯ç»é¢äžã®ãã©ãŒã«ã¹å¯èœãªã¢ã€ãã ã® 1 ã€ã«åæãã©ãŒã«ã¹/ããã©ã«ã ãã©ãŒã«ã¹ãå²ãåœãŠãŸãããã®æ©èœã¯ Compose ã«è¿œå ããã
ComposeUiFlags.isInitialFocusOnFocusableAvailable
ãæå¹ã«ããããšã§å©çšã§ããŸããïŒIb9178ïŒ - ãã©ã°
isPointerInteropFilterDispatchingFixEnabled
ãåé€ããŸãããïŒIaa589ïŒ - ãã©ã°
isNestedScrollInteropPostFlingFixEnabled
ãåé€ããŸãããïŒI2a756ïŒ isHiddenFromAccessibility()
ãšisInHiddenAccessibilitySubtree()
ã®ã»ãã³ãã£ã¯ã¹ ãããã£ãŒã远å ããŸãããïŒI9f5a1ïŒ- åºç€ãšãªãã¹ã±ãžã¥ãŒã©ã§æéåãã®ã¿ã¹ã¯ããã¹ãŠå®è¡ããããã«ã
MainTestClock
ã«runCurrent()
ã远å ããŸãããããã¯ãé å»¶ã 0 ããªç§ã®ã¿ã¹ã¯ãããã«å®è¡ãããã®ã§ã¯ãªããã¹ã±ãžã¥ãŒã©ã«è¿œå ãããStandardTestDispatcher
ã§ã®ãã¹ãã®å®è¡ããµããŒãããããã§ãããã¹ãã§StandardTestDispatcher
ã䜿çšããããã«èšå®ããã«ã¯ãComposeTestRule
ãäœæããStandardTestDispatcher
ãæž¡ããŸããããã©ã«ãã§ã¯ããã¹ãã¯UnconfinedTestDispatcher
ã§å®è¡ããããããrunCurrent()
ãåŒã³åºãå¿ èŠã¯ãããŸããã StandardTestDispatcher
ã§ãã¹ããå®è¡ãããµããŒãã远å ããŸããããããŸã§ããã¹ã ãã¬ãŒã ã¯ãŒã¯ã¯UnconfinedTestDispatcher
ã䜿çšããŠèšå®ãããŠããŸããïŒçŸåšãåæ§ïŒãããã¯ãæ¬çªç°å¢ãšã¯åŸ®åŠã«ç°ãªããŸãããã®èšå®ã¯ãç¬èªã®StandardTestDispatcher
ãäœæããŠãComposeTestRule
ã®äœææïŒãŸã㯠runComposeUiTest ã®åŒã³åºãæïŒã«effectContext
ã«è¿œå ããããšã§å€æŽã§ããããã«ãªããŸãããïŒI334d0ãb/254115946ïŒSlotTree
ããããŒãã®ããªãŒãäœæããã³ãŒããæŽæ°ããŸããïŒI997d3ïŒ
ãã°ã®ä¿®æ£
- Compose UI ã¯ãAndroid ã«ã©ã€ããµã€ã¯ã«å¯Ÿå¿ã®
RetainScopes
ãã€ã³ã¹ããŒã«ããããã«ãªããŸãããããã©ã«ãã®åäœã§ã¯ãæ§æã®å€æŽããŸããã§retain
ã®å€ãä¿æãããããã«ãªããŸãããïŒId4a09ãb/177562901ïŒ
å€éšããã®åå
VelocityTracker
ã«ããã©ãããã©ãŒã åºæã®åäœã䜿çšããŠããã©ããã³ã°ããããã€ã³ã¿ ã€ãã³ãã«åºã¥ããŠãã€ã³ã¿ã®é床ãèšç®ããæ©èœã远å ããŸããïŒI621e8ïŒ
ããŒãžã§ã³ 1.10.0-alpha01
2025 幎 8 æ 13 æ¥
androidx.compose.ui:ui-*:1.10.0-alpha01
ããªãªãŒã¹ãããŸãããããŒãžã§ã³ 1.10.0-alpha01 ã«ã¯ãããã® commit ãå«ãŸããŠããŸãã
API ã®å€æŽ
ComposeView
ã®ããŠã¹ãŸãã¯ã¿ãããããã«ãããã€ã³ã¿ ããŠã³ã¯ããã€ã³ã¿ ããŠã³ããã©ãŒã«ã¹ãããããŒãã®å¢çå ã§çºçããªãå Žåããã©ãŒã«ã¹ãèªåçã«ã¯ãªã¢ããããã«ãªããŸãããããã«ããããã€ã³ã¿å ¥åããã€ã¹ã䜿çšããéã«ãçŸåšã®åäœãããæåŸ ããããã¿ããããŠãã©ãŒã«ã¹ãã¯ãªã¢ããã UX ãå®çŸããŸãããã®åäœã¯ãæ°ããAbstractComposeView.isClearFocusOnPointerDownEnabled
API ã§ãªããã¢ãŠãã§ããŸããïŒI6322bãb/282963174ïŒ- Text ã«å ããŠãããŸããŸãªèªåå
¥åã³ã³ããŒãã³ã ã¿ã€ãããµããŒããã
FillableData
ã€ã³ã¿ãŒãã§ãŒã¹ãå°å ¥ããŸããïŒIf9bd2ïŒ - å
±æèŠçŽ ãåçã«æå¹ãŸãã¯ç¡å¹ã«ã§ããæ°ãã APIãå
±æèŠçŽ ã®é·ç§»ããã§ã«é²è¡äžãã©ãããèæ
®ããããšãã§ããŸããç§»è¡äžã«ã¿ãŒã²ããå
±æèŠçŽ ãç Žæ£ããããšãã«ä»£æ¿ã¿ãŒã²ããå¢çãèšå®ããæ°ãã APIã
LookaheadScope
ã®LayoutCoordinates
ãååŸããæ°ãã APIãïŒI18dd4ãb/409819304ãb/395670637ïŒ - ãã¹ããããã¹ã¯ããŒã«çžäºéçšã«æ£ããæŽæ°ããã£ã¹ããããããã¹ããå¶åŸ¡ãããã©ã°
isNestedScrollInteropIntegerPropagationEnabled
ãå°å ¥ãïŒIf8316ïŒ DelegatableNode
ã«requestFocusForChildInRootBounds()
ã远å ããŠãæå®ããã rect ãšéè€ããåã«ãã©ãŒã«ã¹ãç§»åããŸããïŒI001efïŒ- ãã©ã°
isOnScrollChangedCallbackEnabled
ãisAdjustPointerInputChangeOffsetForVelocityTrackerEnabled
ãisFlingContinuationAtBoundsEnabled
ãisAutomaticNestedPrefetchEnabled
ãDragGesturePickUpEnabled
ãisPointerInteropFilterDispatchingFixEnabled
ãisNestedScrollInteropPostFlingFixEnabled
ãisNestedScrollDispatcherNodeFixEnabled
ãåé€ïŒI36c18ïŒ - è¿ãããå€ã®äœ¿çšã匷å¶ããããã«ã
SemanticsNode
ãã¡ã€ã³ã颿°ãšã»ã¬ã¯ã¿é¢æ°ã«@CheckResult
ã¢ãããŒã·ã§ã³ã远å ããŸãããïŒI6f86eãb/201652748ïŒ - ã³ã³ãã³ã ãã£ãã㣠ããã»ã¹ã®ããã©ãŒãã³ã¹ãæ¹åïŒI3c7c0ïŒ
- ãªãŒããã£ã«ãæ£åžžã«å¡ãã€ã¶ããããšãã®ãã€ã©ã€ãã®ãã©ã·ã倿Žããããã«äœ¿çšã§ãã
CompositionLocal
ãå°å ¥ããŸãããïŒI52329ïŒ - æ°ãã Interpolatable ã€ã³ã¿ãŒãã§ãŒã¹ãå°å ¥ããŸãããããã«ãããããåãå¥ã®åããã®å€ææ¹æ³ãç¥ã£ãŠãããšä»®å®ããŠãç°ãªãåéã®èªåè£éãå¯èœã«ãªããŸãããã®ã€ã³ã¿ãŒãã§ãŒã¹ã¯ãBrush ã Shape ãªã©ã®ããã€ãã® Compose åã§æŽ»çšãããŠããŸãããå€éšã§ãå©çšã§ããŸããïŒI58eabïŒ
- Scrollable ã 2 次å
ããŠã¹ãã€ãŒã« ã¹ã¯ããŒã« ã€ãã³ããããé©åã«ãµããŒãããããã«ãªããŸããã
MouseInjectionScope
ã®ãŠãŒã¹ã±ãŒã¹ããã¹ãããããã®æ°ãããã¹ã API ã远å ãããŸããããŸããMouseInjectionScope
ã®ã¹ã¯ããŒã« ã¡ãœããã«æ°ãããªãŒããŒããŒããå°å ¥ããisMouseWheel1DAxisLockingEnabled
ïŒI136dfïŒãšããæ°ããåäœãå¶åŸ¡ãããã©ã°ãå°å ¥ããŸããã - ããŒããŒãã®ã¿ã€ããšç¶æ
ãããã²ãŒã·ã§ã³ã®ã¿ã€ããšç¶æ
ãã¿ããã¹ã¯ãªãŒã³ã®ç¶æ
ãUI ã¢ãŒãã®ã¿ã€ãçšã®
DeviceConfigurationOverrides
ã远å ïŒI282f0ïŒ Tight
ãšããæ°ããLineHeightStyle.Mode
ã远å ããŸããããã®ã¢ãŒãã§ã¯ãèã®é«ãã°ãªããåãåãããå¯èœæ§ãããå Žåã§ããè¡ã®é«ããå°ããããããšãã§ããŸããïŒId3849ïŒBaselineShift
ã« Unspecified å€ã远å ãããBaselineShift
ã®ãã¯ã·ã³ã°ã鲿¢ãããŸããHyphens
ãLineBreak
ãTextAlign
ãTextDirection
ã«isSpecified
ãã«ããŒé¢æ°ã远å ãããŸãããHyphens
ãTextAlign
ãTextDecoration
ãTextDirection
ã«valueOf()
ãšå€ã¡ãœããã远å ãããå¹ççãªã·ãªã¢ã«å/ãã·ãªã¢ã«åãå¯èœã«ãªããŸãããïŒI8d44cïŒ- ãã¬ãã¥ãŒ ãã©ã¡ãŒã¿ ã€ã³ã¹ã¿ã³ã¹ã®ã«ã¹ã¿ã 衚瀺åãèš±å¯ããæ°ãã
getDisplayName
ã¡ãœãã ã€ã³ã¿ãŒãã§ãŒã¹ã远å ããŸãããïŒI19bdfãb/241699422ïŒ - Dp å€ã Unspecified ãšæ¯èŒããéã«ãå°ãªããŸãã¯å€§ãªãã䜿çšãããšãåžžã« false ãè¿ãããããã«ãªããŸããã
Dp.compareTo(Unspecified)
ã䜿çšãããšãåžžã« 0 ãè¿ãããŸãããã©ã°ComposeUiUnitFlags.isDpCompareToChanged
ã false ã«èšå®ãããšãDp.compareTo()
ã¯ä»¥åã®åäœã«æ»ããŸãããã®å ŽåãUnspecified ãš less-than ããã³ greater-than ãæ¯èŒããŠãåžžã« false ãè¿ãããããã§ã¯ãªããcompareTo()
ãš Unspecified ã¯Float.compareTo()
ã®åäœãšäžèŽããŸããïŒIfa88bãb/429221319ïŒ
ãã°ã®ä¿®æ£
- ããã©ã«ãã® minSdk ã API 21 ãã API 23 ã«ç§»è¡ïŒIbdfcaãb/380448311ãb/435705964ãb/435705223ïŒ
- ç§»è¡äžã«æ°ãã
AndroidComposeViews
ãäœæã§ããªãåé¡ãä¿®æ£ããŸãããïŒI2e23eãb/340894487ãb/287484338ïŒ - 1 è²ã䜿çšãããã¯ã¿ãŒåãããŒã¢ãã«ã䜿çšãã
fillColor
ãå®å šã«äžéæã§ãå®å šã«éæã§ããªãå Žåã«çºçããè²ã®ãã°ãä¿®æ£ããŸããïŒI3b041ãb/328677973ïŒ painterResource
ãä»ããŠèªã¿èŸŒãŸããããŒãåºæã®è²ãæã€ã¢ã€ã³ã³ããããŒãã®å€æŽæã«æŽæ°ãããªãåé¡ãä¿®æ£ããŸãããïŒI85ea0ãb/424416571ïŒonFillData
ãšfillableData
ã®ã»ãã³ãã£ã¯ã¹ãå°å ¥ããŸããïŒI45d9eïŒStateRestorationTester
ã§ãã©ãããã©ãŒã åºæã®ç¶æ ãšã³ã³ãŒããåžžã«æå¹ã«ãªããŸãããããã«ããããã¹ãã®åäœããAndroid ã® Parcelization ãªã©ãå®éã®ã¢ããªã®ç¶æ ã®åŸ©å ãšäžèŽããŸããïŒI38211ãb/408154192ãb/382294247ïŒ- ãã©ãŒã«ã¹ããªã¯ãšã¹ãããéã«ææã¯ã©ãã·ã¥ããåé¡ãä¿®æ£ããŸãããïŒ57b31a11ãb/431111149ïŒ
ããŒãžã§ã³ 1.9
ããŒãžã§ã³ 1.9.0
2025 幎 8 æ 13 æ¥
androidx.compose.ui:ui-*:1.9.0
ããªãªãŒã¹ãããŸãããããŒãžã§ã³ 1.9.0 ã«ã¯ãããã® commit ãå«ãŸããŠããŸãã
1.8.0 以éã®éèŠãªå€æŽ
- ããŒãžã§ã³ 1.9.0 ã®éèŠãªå€æŽã«ã€ããŠã¯ããã¡ãã®ããã°æçš¿ãã芧ãã ããã
- Compose ã«å梱ãããŠãã Lint ãã§ãã¯ã§ãAGP ã®æå°ããŒãžã§ã³ã 8.8.2 ã«ãªããŸãããAGP ãã¢ããã°ã¬ãŒãã§ããªãå Žåã¯ã
gradle.properties
ã§android.experimental.lint.version=8.8.2
ïŒãŸãã¯ãã以éã®ããŒãžã§ã³ïŒã䜿çšããŠãLint ãåç¬ã§ã¢ããã°ã¬ãŒãã§ããŸããIDE å ã§ Compose lint ãã§ãã¯ãå®è¡ããã«ã¯ãAndroid Studio Ladybug 以éãå¿ èŠã§ãã - äºææ§ãç Žã倿Ž:
graphicsLayer
修食åããŒããSemanticsModifierNode
ãå®è£ ããããã«ãªããŸãããããã«ãããã»ãã³ãã£ã¯ã¹ ããªãŒã«æ°ããSemanticsNodes
ã远å ãããã»ãã³ãã£ã¯ã¹ ããªãŒæ§é ã«é¢ããä»®å®ãè¡ããã¹ãã§ãã¹ãã®å€±æã«ã€ãªããå¯èœæ§ããããŸããããšãã°ãonChild
ãonParent
ãonSibling
ãªã©ã®é¡äŒŒã¡ãœããã䜿çšããŠã¢ãµãŒã·ã§ã³ãè¡ããã¹ãã¯ãçŸåšã®ããŒããšã¿ãŒã²ãã ããŒãã®éã«æ°ããããŒãã远å ããããšå€±æããå¯èœæ§ããããŸãããããã®é害ãä¿®æ£ããæšå¥šã®æ¹æ³ã¯ãã¿ãŒã²ãã ããŒãã«testTag
ãçŽæ¥è¿œå ããããšã§ãããã 1 ã€ã®æ¹æ³ã¯ãonNode(hasAnyAncestor(hasText("ancestor")) and hasText("target"))
ãªã©ã®ç·©ããããã£ãŒã䜿çšããããšã§ããïŒI638b5ïŒ
ããŒãžã§ã³ 1.9.0-rc01
2025 幎 7 æ 30 æ¥
androidx.compose.ui:ui-*:1.9.0-rc01
ããªãªãŒã¹ãããŸãããããŒãžã§ã³ 1.9.0-rc01 ã«ã¯ããããã® commit ãå«ãŸããŠããŸãã
ãã°ã®ä¿®æ£
painterResource
ãä»ããŠèªã¿èŸŒãŸããããŒãåºæã®è²ã®ã¢ã€ã³ã³ããã·ã¹ãã ããŒãã®å€æŽæã«æŽæ°ãããªãåé¡ãä¿®æ£ããŸãããïŒI85ea0ãb/424416571ïŒ- API 21ïŒLollipopïŒãš 28ïŒPieïŒã§ãéèŠãªã°ã©ãã£ã㯠ã¡ãœãããæé©åäžã«åå倿Žããããšã©ãŒãä¿®æ£ããŸãããïŒIebf99ãb/425120571ãb/420462749ïŒ
- æ°ããæ¿å
¥ããã
onLayoutRectChanged
修食åãæåã«ã³ãŒã«ããã¯ãããããã«ããŸããïŒl9aa91ïŒãïŒlb348aïŒ - ãªãã»ãã ãã£ãã·ã¥ã誀ã£ãŠç¡å¹åããã
onLayoutRectChanged
修食åãééã£ã座æšã§åŒã³åºãããåé¡ãä¿®æ£ããŸããïŒibd4cdïŒãïŒlddc57ïŒ onLayoutRectChanged
修食åã«ãã£ãŠå転/åŸæããã¬ã€ã¢ãŠãã誀ã£ã座æšãåãåãåé¡ãä¿®æ£ããŸããïŒlddc57ãb/426750475ïŒ
å€éšããã®åå
- ã¹ã¯ããŒã«ãããš
LazyList
ã®dragAndDropSource
ã¢ã€ãã ãæ¶ããåé¡ãä¿®æ£ããŸãããVictor Rendina æ°ã«æè¬ããããŸããïŒdc3bcd3ãb/425894792ïŒ
ããŒãžã§ã³ 1.9.0-beta03
2025 幎 7 æ 16 æ¥
androidx.compose.ui:ui-*:1.9.0-beta03
ããªãªãŒã¹ãããŸãããããŒãžã§ã³ 1.9.0-beta03 ã«ã¯ããããã® commit ãå«ãŸããŠããŸãã
ãã°ã®ä¿®æ£
- åäžã«ãŒããããå åŽã®ã·ã£ããŠããªãã»ããã§æ£ããç§»åããªãåé¡ãä¿®æ£ããŸããã
ããŒãžã§ã³ 1.9.0-beta02
2025 幎 7 æ 2 æ¥
androidx.compose.ui:ui-*:1.9.0-beta02
ããªãªãŒã¹ãããŸãããããŒãžã§ã³ 1.9.0-beta02 ã«ã¯ãããã® commit ãå«ãŸããŠããŸãã
API ã®å€æŽ
- ã¯ã©ã¹ã«åãããŠã³ã³ãããªã³ ãªããžã§ã¯ãã詊éšéçšçã«å€æŽããŸããïŒI8452aïŒ
isTrackFocusEnabled
詊éšéçšçãã©ã°ãåé€ããŸããïŒI003fdïŒ
ãã°ã®ä¿®æ£
WindowInsets
ãComposeView
ã®ã³ã³ãã³ãã«äŸµå ¥ããŠããªãå ŽåãWindowInsetsRulers
ã®å€ã¯æäŸãããŸãããïŒI71221ïŒ
ããŒãžã§ã³ 1.9.0-beta01
2025 幎 6 æ 18 æ¥
androidx.compose.ui:ui-*:1.9.0-beta01
ããªãªãŒã¹ãããŸãããããŒãžã§ã³ 1.9.0-beta01 ã«ã¯ããããã® commit ãå«ãŸããŠããŸãã
äºææ§ãç Žã倿Ž
graphicsLayer
修食åããŒãã«SemanticsModifierNode
ãå®è£ ãããŸãããããã«ãããã»ãã³ãã£ã¯ã¹ ããªãŒã«æ°ããSemanticsNodes
ã远å ãããã»ãã³ãã£ã¯ã¹ ããªãŒæ§é ã«é¢ããä»®å®ãè¡ããã¹ãã§ãã¹ãã®å€±æã«ã€ãªããå¯èœæ§ããããŸããããšãã°ãonChild
ãonParent
ãonSibling
ãªã©ã®é¡äŒŒã¡ãœããã䜿çšããŠã¢ãµãŒã·ã§ã³ãè¡ããã¹ãã¯ãçŸåšã®ããŒããšã¿ãŒã²ãã ããŒãã®éã«æ°ããããŒãã远å ããããšå€±æããå¯èœæ§ããããŸãããããã®é害ãä¿®æ£ããæšå¥šã®æ¹æ³ã¯ãã¿ãŒã²ãã ããŒãã«testTag
ãçŽæ¥è¿œå ããããšã§ãããã 1 ã€ã®æ¹æ³ã¯ãonNode(hasAnyAncestor(hasText("ancestor")) and hasText("target"))
ãªã©ã®ç·©ããããã£ãŒã䜿çšããããšã§ããïŒI638b5ïŒ
API ã®å€æŽ
ShadowContext
ãã·ãŒã« ã€ã³ã¿ãŒãã§ãŒã¹ã«å€æŽããŸããïŒI3ce40ïŒ- 鿥ã¿ãã ã€ãã³ãïŒãã¹ãçšïŒãäœæããã¯ãã¹ ã¢ãžã¥ãŒã«æ¹åŒã远å ïŒI22e4cïŒ
IndirectTouchEvent.nativeEvent
ã詊éšéçšã«ããŸããïŒI6fda5ïŒ- API è©è°äŒã®ãã£ãŒãããã¯ã«åºã¥ã㊠API ãµãŒãã§ã¹ãæ¹èšããŸããïŒIbf378ïŒ
FrameRateCategory.NoPreference
宿°ãåé€ããŸãããModifier.requestedFrameRate
ãModifier.preferredFrameRate
ã«åå倿ŽããŸããïŒI2f976ïŒWindowInsetsRulers
:rulersIgnoringVisibility
ãæå€§ã«å€æŽããŸãããgetDisplayCutoutBounds()
ãPlacementScope
ã®æ¡åŒµé¢æ°ã«å€æŽããŸãããWindowInsetsAnimationProperties
ãWindowInsetsAnimation
ã«å€æŽãããgetAnimationProperties()
ãgetAnimation()
ã«å€æŽãããŸãããïŒI3816fïŒ- ã¯ã©ã¹
ShadowParams
ãShadow
ã«å€æŽããŸããïŒI11ccaïŒ - ãã¬ãŒã ã¬ãŒã API ã®ããã±ãŒãžã
androidx.compose.ui.ui
ããandroidx.compose.ui
ã«å€æŽïŒI8994eïŒ InsetsRulers
ãå ±éã³ãŒãã«ããŠãååãWindowInsetsRulers
ã«å€æŽããŸããããã¹ãŠã®ã€ã³ã»ãããWindowInsetsRulers
ã«ãªãããã« API ãç°¡çŽ åããŸãããã«ãŒã©ãŒä»¥å€ã®ããããã£ãAnimationProperties
ã¯ã©ã¹ã«æœåºããŸãããWindowInsetsRulers.innermostOf()
ã䜿çšããŠãè€æ°ã®WindowInsetsRulers
ãçµ±åã§ããŸããïŒI2f0c6ãb/415012444ïŒ- Compose ã³ã³ãã€ã©ã«ãã£ãŠè¿œå ããããœãŒã¹æ å ±ãè§£æããããã®ããŒã« API ã远å ããŸãããïŒIceaf9ãb/408492167ïŒ
ãã°ã®ä¿®æ£
- æ©èœãå®å
šã«æ€èšŒãããããã
isGetFocusedRectReturnEmptyEnabled
ã®ãã©ã°ãåé€ãããŸãããïŒIfe722ïŒ performScrollToNode
ã®ãã°ãä¿®æ£ããŸããããã®ãã°ã«ãããäžéšã®ã±ãŒã¹ã§ã¿ãŒã²ãã ããŒãã«å°éããŠããŸããã§ããããã®ä¿®æ£ã«ããããã®ãããªå Žåã§ãåžžã«ã¿ãŒã²ãã ããŒãã«å°éããããã«ãªããŸãããã®å€æŽã®å¯äœçšãšããŠãã¢ã¯ã·ã§ã³ã®çµäºæã®æ£ç¢ºãªã¹ã¯ããŒã«äœçœ®ãç°ãªãå ŽåããããŸããããã¯ãã¹ã¯ãªãŒã³ã·ã§ãã ãã¹ãããæ£ç¢ºãªã¹ã¯ããŒã«äœçœ®ãåæãšãããã¹ãã«åœ±é¿ããŸããïŒI2c8a1ïŒ
ããŒãžã§ã³ 1.9.0-alpha04
2025 幎 6 æ 4 æ¥
androidx.compose.ui:ui-*:1.9.0-alpha04
ããªãªãŒã¹ãããŸãããããŒãžã§ã³ 1.9.0-alpha04 ã«ã¯ããããã® commit ãå«ãŸããŠããŸãã
API ã®å€æŽ
- ã«ã¹ã¿ãã€ãºå¯èœãªã·ã£ããŠçšã®ä¿®é£Ÿå API ã远å ããŸãããïŒI2058dãb/160665122ïŒ
- å¢çãèšç®ãããšãã«ããŒããèæ
®ãããã©ãããæ±ºå®ãã
SemanticsModifierNode.isImportantForBounds
ããããã£ã远å ããŸãããã®ããããã£ã¯ããã©ã«ãã§ true ã«ãªã£ãŠããŸããfalse ã«èšå®ãããšãããŒããå¢çã®èšç®ã«äœ¿çšãããªãããšã瀺ããŸããïŒI7ebecïŒ AccessibilityNodeInfo.getExtras
ãä»ããŠå ¬éããããŠãŒã¶ãŒè£å©æ©èœã®è¿œå æ©èœãšããŠå©çšå¯èœã«ãªããAndroid åºæã®ã»ãã³ãã£ã¯ã¹ ããããã£ã宣èšããããã®SemanticsPropertyKey
ãã¡ã¯ããªé¢æ°ã远å ããŸãããïŒI2ed51ïŒComposeUiFlags.isRemoveFocusedViewFixEnabled
ã®äœ¿çšãåé€ãããã©ã°ãéæšå¥šã«ããŸãããïŒI50328ïŒ- ã«ã¹ã¿ãã€ãºå¯èœãªæ°ããã·ã£ã㊠ãã¬ãŒã ã¯ãŒã¯ãå°å
¥ããŸããããã«ã¯ã
DropShadowPainter
ãšInnerShadowPainter
ãããã³DropShadow/InnerShadow
ã®äŸåé¢ä¿ãå«ãŸããŸããã·ã£ã㌠ã€ã³ãã©ã¹ãã©ã¯ãã£ã¯å ±æããããããåãçæãããã·ã£ããŒãè€æ°ã®ã³ãŒã«ãµã€ãã§å ±æã§ããŸããã·ã£ããŒã n ååçæããå¿ èŠã¯ãããŸãããïŒI24f7aãb/160665122ïŒ - 2 ã€ã®ã·ã§ãŒããŒéã§åæçµæãäœæãã
CompositeShader
ãšCompositeShaderBrush
ãå°å ¥ããŸãããŸããã·ã§ãŒããŒã®å€æè¡åãèšå®ããShaderBrush#transform
ã远å ããŸããïŒI2621aãb/160665122ïŒ
ãã°ã®ä¿®æ£
NestedScrollInteropConnection
ã®ãã°ãä¿®æ£ããŸããããã®ãã°ã§ã¯ãããªã³ã° ã¡ãœããããã¥ãŒã«å¯ŸããŠééã£ãé åºã§å®è¡ãããŠããŸãããïŒI56ad4ïŒ- 以åã¯ãå
šç»é¢ãæç»ãããã€ã¢ãã°ã¯ãã£ã¹ãã¬ã€ ã«ããã¢ãŠãé åå
ã§æç»ãããŠããŸããã§ããããã®ãã°ã¯ã
decorFitsSystemWindows = false
ãšusePlatformDefaultWidth = false
ãå«ããã€ã¢ãã°ããã£ã¹ãã¬ã€ ã«ããã¢ãŠãé åãååŸã§ããããã«ä¿®æ£ãããŠããŸããïŒI9e975ïŒ - Compose ã¢ããªãããã¯ã°ã©ãŠã³ãã«ãããšãã«
TalkBack
ããªã³ã«ãããšãç·è²ã®ãã©ãŒã«ã¹ ã€ã³ãžã±ãŒã¿ãŒãæç»ãããªããã°ãä¿®æ£ããŸãããïŒIfd12aïŒ
ããŒãžã§ã³ 1.9.0-alpha03
2025 幎 5 æ 20 æ¥
androidx.compose.ui:ui-*:1.9.0-alpha03
ããªãªãŒã¹ãããŸãããããŒãžã§ã³ 1.9.0-alpha03 ã«ã¯ãããã® commit ãå«ãŸããŠããŸãã
API ã®å€æŽ
- ãã©ã°
ComposeUiFlags.isGetFocusedRectReturnEmptyEnabled
ã䜿çšãããšãComposeView
ã§ãã©ãŒã«ã¹å¯èœãªãã®ãäœããªãå Žåãrect ã Empty å€ã«èšå®ãããŸããããã«ããããã©ãŒã«ã¹æ€çŽ¢ã§ãã©ãŒã«ã¹ãããã¥ãŒãéžæã§ããªããªããŸããããã¯ãIME ã« NEXT ãªãã·ã§ã³ããããComposeView
ã«ãã©ãŒã«ã¹ããããšããŠrequestFocus()
ã倱æããå¯èœæ§ãããå Žåã«ç¹ã«éèŠã§ããïŒIbd0e2ãb/369256395ïŒ - ãã©ã°
isNestedScrollDispatcherNodeFixEnabled
ãå°å ¥ããŸããïŒI0d24aïŒ DialogProperties
'dialogContentTitle
ã®ååãwindowTitle
ã«å€æŽïŒIbd27bïŒModifier.onLayoutRectChanged
ã®äžã«æ§ç¯ãããé«ã¬ãã«ã®ä¿®é£Ÿåã§ããModifier.onFirstVisible
修食åãšModifier.onVisibilityChanged
修食åãå°å ¥ãããŸããããããã®ä¿®é£Ÿåã¯ãã€ã³ãã¬ãã·ã§ã³ã®ãã®ã³ã°ãåç»ã®èªååçãªã©ãäžè¬çãªã¢ããªã±ãŒã·ã§ã³ã®èŠä»¶ãåŠçããããã«ç¹å¥ã«æ§ç¯ãããŠããŸããããã©ãŒãã³ã¹ãéèŠããŠæ§ç¯ãããŠãããããã¹ã¯ããŒã« ããã©ãŒãã³ã¹ãç ç²ã«ããããšãªããéèŠãªãªã¹ãããŒã¹ã®ã·ããªãªã§äœ¿çšã§ããŸãããããã®ä¿®é£Ÿå API ã«å ããŠããããã®ãŠãŒã¹ã±ãŒã¹ããµããŒãããããããããŒããŠãŒã¹ã±ãŒã¹ã«æ£ç¢ºã«é©åããåæ§ã®ã«ã¹ã¿ã 修食åãç°¡åã«äœæã§ããããã«ããããã«ãRelativeLayoutBounds
ã«è¿œå ã® API ã远å ãããŸãããïŒI759b8ïŒ- ãã®æ©èœã®ä»åŸã®éçºãèæ
®ããŠã
setDiagnosticStackTraceEnabled
ã experimental ã«å€æŽããŸããïŒI11db3ïŒ - ç¶æ
äœæçšã®
Modifier.scrollable2D
ãScrollable2DState
ãã³ã³ãããªã³ API ãå°å ¥ããŸããå ±éã®ã¹ã¯ããŒã«æ¡åŒµé¢æ°ãå°å ¥ããŸãããïŒIc61c8ãb/214410040ïŒ - Compose ã® 64 ãããã®ã«ã©ãŒå€ã¯ãäžéšã®è²ç©ºéã§è²ç©ºé ID ã®é åºãç°ãªããããAndroid ã®
ColorLongs
ãšçŽæ¥æ¯èŒããããšã¯ã§ããŸãããAndroid ã®ã«ã©ãŒã¹ããŒã¹ãšã®éã§å€æãè¡ãããã«ãtoColorLong()
ãšfromColorLong()
ã® 2 ã€ã®æ°ãã API ã远å ãããŸãããïŒI36899ïŒ - äžéããªã³ã°é床å¶åŸ¡ãå¯èœã«ãã
ViewConfiguration.minimumFlingVelocity
ãå°å ¥ããŸãããïŒI11aabïŒ
ããŒãžã§ã³ 1.9.0-alpha02
2025 幎 5 æ 7 æ¥
androidx.compose.ui:ui-*:1.9.0-alpha02
ããªãªãŒã¹ãããŸãããããŒãžã§ã³ 1.9.0-alpha02 ã«ã¯ããããã® commit ãå«ãŸããŠããŸãã
API ã®å€æŽ
DialogProperties
ã«dialogContentTitle
ã远å ããŸããããã«ãããã³ã³ãã³ã ãŠã£ã³ããŠã®ã¿ã€ãã«ãèšå®ãããŸããbf9d670
ãã°ã®ä¿®æ£
- å éšãã¹ãã®ä¿®æ£ãå®äºãããŸã§ããŠã£ã³ã㊠ã€ã³ã»ãã ã«ãŒã©ãŒã¯äžæçã«ç¡å¹ã«ãªã£ãŠããŸãã8d1402
DragGestureNode
ã®VelocityTracker
ã«ãã€ã³ã¿å ¥åã®å€æŽã远å ãããæ¹æ³ãä¿®æ£ããŸãããããã¯ãæ°ãããã©ã°isAdjustPointerInputChangeOffsetForVelocityTrackerEnabled
ã§å¶åŸ¡ã§ããŸãã254ddb
ããŒãžã§ã³ 1.9.0-alpha01
2025 幎 4 æ 23 æ¥
androidx.compose.ui:ui-*:1.9.0-alpha01
ããªãªãŒã¹ãããŸãããããŒãžã§ã³ 1.9.0-alpha01 ã«ã¯ãããã® commit ãå«ãŸããŠããŸãã
åäœã®å€æŽ
- Compose ã«å梱ãããŠãã Lint ãã§ãã¯ã§ãAGP ã®æå°ããŒãžã§ã³ã 8.8.2 ã«ãªããŸãããAGP ãã¢ããã°ã¬ãŒãã§ããªãå Žåã¯ã
gradle.properties
ã§android.experimental.lint.version=8.8.2
ïŒãŸãã¯ãã以éã®ããŒãžã§ã³ïŒã䜿çšããŠãLint ãåç¬ã§ã¢ããã°ã¬ãŒãã§ããŸããIDE å ã§ Compose lint ãã§ãã¯ãå®è¡ããã«ã¯ãAndroid Studio Ladybug 以éãå¿ èŠã§ãã
API ã®å€æŽ
- ããããã¹ ãã©ãã«ãŒïŒãããã°ïŒã®ãã¬ãŒã¹ ã¹ããŒãã¡ã³ããæå¹ã«ãããã©ã°ãåé€ããŸããïŒI1b2a1ïŒ
InnerRectRulers
ãšOuterRectRules
ãã¡ãœããã«å€æŽããŸãããRectRulers
å ¬é API ããååãã©ã¡ãŒã¿ãåé€ããŸãããDerivedRulers
ãåçŽã«ãŒã©ãŒãšæ°Žå¹³ã«ãŒã©ãŒã®ã³ã³ã¹ãã©ã¯ã¿ ãªãã·ã§ã³ã«ãªããŸãããã€ã³ã¹ã¿ã³ã¹ãçæããããã«ãMergedHorizontalRulers
ãšMergedVerticalRulers
ãminOf
ã¡ãœãããšmaxOf
ã¡ãœããã«çœ®ãæããããŸãããïŒIee89fãb/408192133ïŒandroidx.compose.ui.LocalSavedStateRegistryOwner
ãéæšå¥šãšããandroidx.savedstate.compose.LocalSavedStateRegistryOwner
ã«çœ®ãæããŸãããïŒI5439fãb/377946781ïŒ- 衚瀺äžã«ã¹ãªãŒãããªãããã«èšå®ãã
Modifier.keepScreenOn
ã远å ïŒIb5af4ãb/408284174ïŒ - æ°ããã»ãã³ãã£ã¯ã¹ ããããã£
Shape
ã远å ããŸãããããã¯ãUI èŠçŽ ã®åœ¢ç¶ããã®å¢çã®é·æ¹åœ¢ãšç°ãªãå ŽåïŒè§äžžé·æ¹åœ¢ãªã©ïŒã«èšå®ã§ããŸããïŒI1376fïŒ AndroidViews
ã§ã®ãã€ã³ã¿ ã€ãã³ãã®ãã£ã¹ãããã«é¢ããåé¡ãä¿®æ£ãã倿Žãä¿è·ããããã®ãã©ã°isPointerInteropFilterDispatchingFixEnabled
ã远å ããŸãããïŒI0e272ãb/372055500ãb/408002332ïŒFocusRestorer
ã¯ã以åã«ãã©ãŒã«ã¹ãããŠããã¢ã€ãã ãåºå®ããªããªããŸããããŠãŒã¶ãŒã¯ã以åã«ãã©ãŒã«ã¹ãããŠããã¢ã€ãã ã®æ§æããã·ã¥ãåãã§ããããšã確èªããããã«ããŒã䜿çšããå¿ èŠããããŸããããã«ããããã©ãŒã«ã¹ãæ£åžžã«åŸ©å ãããŸããïŒI4203bãb/330696779ïŒ- Compose ã
ViewTreeObserver.OnScrollChanged
ãããªã¬ãŒã§ããããã«ããŸãããã®åäœã¯ããã©ã°isOnScrollChangedCallbackEnabled
ã§å°å ¥ãããŠããŸãããŸããDelegatableNode dispatchOnScrollChanged
ã®æ¡åŒµé¢æ°ãå°å ¥ããŸãããïŒI34b9dãb/238109286ïŒ currentCompositeKeyHash
ãéæšå¥šã«ãªããŸããã代ããã«currentCompositeKeyHashCode
ã䜿çšããŠãã ããã眮æ API ã¯ãåãããã·ã¥ãããå€ãã®ãããã§ãšã³ã³ãŒãããŸããããã«ãããæ§æéå±€å ã® 2 ã€ã®ç¡é¢ä¿ãªã©ã³ãã ã°ã«ãŒããåãããã·ã¥ããŒãæã€å¯èœæ§ãå€§å¹ ã«æžå°ããŸããïŒI4cb6aãb/177562901ïŒ- Kotlin 2.0 ã§ãªãªãŒã¹ããããããžã§ã¯ãã䜿çšããã«ã¯ãKGP 2.0.0 以éãå¿ èŠã§ãïŒIdb6b5ïŒ
- ã³ã³ããžã·ã§ã³å
ã§
FocusRequester
ãèšæ¶ãããããã«ãlint ãã§ãã¯ã®ãµããŒãã远å ããŸããïŒI6bf91ïŒ - Composable ã§åªå ãã¬ãŒã ã¬ãŒããŸãã¯ãã¬ãŒã ã¬ãŒã ã«ããŽãªãèšå®ããæ©èœã远å ããŸããïŒIe5201ïŒ
- Android ã§ãã€ãã£ã
MotionEvent
ãå ¬éããŸããïŒI17286ïŒ getChecked() + setChecked(int)
ã远å ããisChecked + setChecked(boolean)
ãéæšå¥šã«ããŸããïŒIaac9dïŒgraphicsLayer
修食åãblendMode
ãšcolorFilter
ãåãå ¥ããããã«ãªããŸããïŒIab0e6ïŒ- Resources ãã¯ãšãªãã
LocalResources
ã³ã³ããžã·ã§ã³ ããŒã«ã«ã远å ããŸãããLocalResources.current
ãåŒã³åºããšãæ§æã倿Žããããšãã«åã³ã³ããŒãºããããããstringResource()
ãªã©ã® API ã®åŒã³åºãã¯æŽæ°ãããå€ãè¿ããŸããïŒI50c13ãb/274786917ïŒ - 鿥çãªã¿ããã€ãã³ããåŠçããã³ã³ããŒã¶ãã«ã®è©Šéšéçšç API ãå ¬éïŒIcff57ïŒ
- ãã®ãªãªãŒã¹ã§ã¯ãã³ã³ããŒã¶ãã« ã³ã³ãã³ãã®ã¬ã€ã¢ãŠã ãã§ãŒãºãšæç»ãã§ãŒãºã§ã¹ããŒãããæªåŠçã®äŸå€ã®ã¬ããŒããæ¹åãããŠããŸãã以åã¯ãããã§ãã£ãããããªãäŸå€ãçºçãããšããã¹ãã©ã³ããŒãã¯ã©ãã·ã¥ãããã¹ãã¹ã€ãŒããæ©æã«çµäºããŠããŸããããããã®äŸå€ã¯ããã¹ãã¹ã€ãŒããçµäºããã«ãããé©åã«ã¬ããŒãã§ããããã«ãªããŸãããïŒI9928bãb/314128080ïŒ
- 詊éšéçšçã®
GlobalAssertions
API ã®ãµããŒããçµäºããŸããããã®ã¡ãœããã¯ã¢ã¯ã»ã·ããªã㣠ãã§ãã¯ãå®è¡ããããšãç®çãšããŠããŸãããã代ããã«enableAccessibilityChecks()
ã䜿çšããŠãã ãããïŒI50aa5ïŒ SemanticsNodeInteraction.performTextInputSelection
ã¯è©Šéšéçšçã§ã¯ãªããªãã远å ã®relativeToOriginal
ãã©ã¡ãŒã¿ããµããŒãããããã«ãªããŸããããã®ãã©ã¡ãŒã¿ã䜿çšãããšãéžæãå ã®å€æãããŠããªãããã¹ããŸãã¯å€æãããããã¹ãã«é©çšã§ããŸããïŒI3a905ãb/261561038ãb/277018945ïŒAnnotatedString
ãä»ããŠã«ã¹ã¿ã ã®ç®æ¡æžããªã¹ããäœæããããã® API ãå°å ¥ïŒI1d066ãb/383269496ãb/139326648ïŒrunWithTimingDisabled
ã¯éæšå¥šãšãªããrunWithMeasurementDisabled
ãæšå¥šãããŸããrunWithMeasurementDisabled
ã¯ããã¹ãŠã®ææšãäžæåæ¢ããããšããåäœãããæç¢ºã«èšè¿°ããŸãããŸããMicrobenchmarkScope
ã¹ãŒããŒã¯ã©ã¹ãå ¬éããŸããããã¯ãrunWithMeasurementDisabled
颿°ãå宣èšããŠã¢ã¯ã»ã¹ãéãããšãã§ããªãããã§ãïŒã€ã³ã©ã€ã³ã§ããããïŒãïŒI9e23bãb/389149423ãb/149979716ïŒ- æ°ããããã€ã¹ãå«ããããã« ui-tooling Devices API ãæŽæ°ããŸãããïŒIa2ac1ïŒ
- ãã¬ãã¥ãŒç»é¢ãµã€ãºã®ã³ã¬ã¯ã·ã§ã³ã«ã¿ãã¬ããã®çžŠåãã远å ããããããããŒããã倧ããªãŠã£ã³ããŠãæ€èšã§ããããã«ããŸããïŒIa1976ïŒ
- ç¹å®ã®æç¹ã§ã®å€ã§ãã¬ãŒã¹ãããŒã¯/ãã°ã«èšé²ããããã®ãã¬ãŒã¹å€ API ãå°å
¥ããã¬ãŒã¹å€ã¯ããã¬ãŒã¹ã®ã¿ã€ã ã©ã€ã³ã§ç¢ºèªã§ããæ°ããã¬ãŒã³ãšã㊠Prefetto ã«è¡šç€ºãããŸããAndroid ã§ã¯ã
Trace.setCounter
ã䜿çšããŠå®è£ ãããŸããïŒIdcf48ïŒ
ãã°ã®ä¿®æ£
- äžæåæ¢å¯èœãªã³ã³ããžã·ã§ã³ã§ remember ãªãã¶ãŒããŒã®ãã£ã¹ããããä¿®æ£ããåãé©çšã§ remember/forget ããã£ã¹ããããããªãããã«ããŸããïŒI570b2ãb/404645679ãb/407931790ïŒ
decorFitsSystemWindows
ã false ã®å Žåãandroid:dialogTheme
ãèšå®ããŠãã€ã¢ãã°ã®ããããã£ãå¶åŸ¡ã§ããããã«ãªããŸããïŒI7922fãb/246909281ïŒ- ãã€ã¢ãã°ã®å€ã§ãã£ãããããã¢ãŒã·ã§ã³ ã€ãã³ãã«ãã£ãŠãã€ã¢ãã°ãéãããããã°ãä¿®æ£ããŸãããïŒIa78fdïŒ
- Compose lint ãã§ãã¯ã§ã¯ãã³ãã³ãã©ã€ã³ãã AGP ããŒãžã§ã³ 8.8.2 以äžãIDE ãµããŒãã«ã¯ Android Studio Ladybug 以äžãå¿
é ã«ãªããŸãããæ§ããŒãžã§ã³ã® AGP ã䜿çšããŠããå Žåã¯ãgradle.properties ã§
android.experimental.lint.version=8.8.2
ãèšå®ããŠãAGP ã«åœ±é¿ãäžããããšãªã Lint ã®ããŒãžã§ã³ãã¢ããã°ã¬ãŒãã§ããŸããïŒI6f2a8ïŒ - åºå倿ãé©çšãããåã®
textfield
ã®å€ããã£ããã£ããæ°ããã»ãã³ãã£ã¯ã¹ ããããã£InputText
ã远å ããŸãããïŒIae46aãb/395911609ãb/176949051ïŒ - Android ã®ãŠãŒã¶ãŒè£å©ãã§ãã¯ããªã³ã«ãã
enableAccessibilityChecks()
API ããåå¥ã®ããã±ãŒãžã«ç§»åããŸãããTestRule
ãåŒã³åºããšãã«TestRule
ãšcompose:ui:ui-test-junit4-accessibility
ã䜿çšããªãå Žåã¯ãcompose:ui:ui-test-accessibility
ã«ãªããŸãïŒI3c318ãb/391560768ïŒ LaunchedEffect
ãšrememberCoroutineScope
ã§ Compose ã¹ã¿ã㯠ãã¬ãŒã¹ã®ãµããŒãã远å ããŸããïŒI705c0ãb/354163858ïŒ
å€éšããã®åå
- 詊éšéçšçã®
runComposeUiTest
颿°ã倿ŽããŠãsuspend ãããã¯ãåãå ¥ããããã«ããŸããããã€ããªäºææ§ã®ãããéæšå¥šã®é¢æ°runComposeUiTest
ã远å ããŸããïŒI3b88cãb/361577328ïŒ
ããŒãžã§ã³ 1.8
ããŒãžã§ã³ 1.8.3
2025 幎 6 æ 18 æ¥
androidx.compose.ui:ui-*:1.8.3
ããªãªãŒã¹ãããŸãããããŒãžã§ã³ 1.8.3 ã«ã¯ãããã® commit ãå«ãŸããŠããŸãã
ãã°ã®ä¿®æ£
- æ©èœãå®å
šã«æ€èšŒãããããã
isGetFocusedRectReturnEmptyEnabled
ã®ãã©ã°ãåé€ãããŸãããïŒIfe722ïŒ - ãã©ã°
ComposeUiFlags.isGetFocusedRectReturnEmptyEnabled
ã䜿çšãããšãComposeView
ã§ãã©ãŒã«ã¹å¯èœãªãã®ãäœããªãå Žåãrect ã Empty å€ã«èšå®ãããŸããããã«ããããã©ãŒã«ã¹æ€çŽ¢ã§ãã©ãŒã«ã¹ãããã¥ãŒãéžæã§ããªããªããŸããããã¯ãIME ã« NEXT ãªãã·ã§ã³ããããComposeView
ã«ãã©ãŒã«ã¹ããããšããŠrequestFocus()
ã倱æããå¯èœæ§ãããå Žåã«ç¹ã«éèŠã§ããïŒIbd0e2ãb/369256395ïŒ
ããŒãžã§ã³ 1.8.2
2025 幎 5 æ 20 æ¥
androidx.compose.ui:ui-*:1.8.2
ããªãªãŒã¹ãããŸãããããŒãžã§ã³ 1.8.2 ã«ã¯ãããã® commit ãå«ãŸããŠããŸãã
ãã°ã®ä¿®æ£
- ãã€ã¢ãã°ã§ã¢ã¯ãã£ããªã€ãã³ã ã¹ããªãŒã äžã«ãã€ã¢ãã°ãåé€ãããéã® NPE ãä¿®æ£ïŒ6a7e7fïŒ
- æç»ã®ã¿ã®æŽæ°ãçºçãããšãã«ãã¹ããããªã³ã°ãããã¿ã€ã ã©ã€ã³ããšã«
onLayoutRectChange
ãæŽæ°ãããªãåé¡ãä¿®æ£ããŸãããïŒ03b82dïŒ
ããŒãžã§ã³ 1.8.1
2025 幎 5 æ 7 æ¥
androidx.compose.ui:ui-*:1.8.1
ããªãªãŒã¹ãããŸãããããŒãžã§ã³ 1.8.1 ã«ã¯ãããã® commit ãå«ãŸããŠããŸãã
ãã°ã®ä¿®æ£
onLayoutRectChanged
ãšLazyLayout
ã«é¢ããããã€ãã®åé¡ãä¿®æ£ããŸãããd791b11- äºåæ§æãããã¢ã€ãã ã®å枬å®ãªã¯ãšã¹ããã¹ãããããŸãããã®ãã°ã¯ãäžéšã®ã±ãŒã¹ã§ããªãã§ãããå¹ççã«åäœãããæž¬å®ããã¬ãŒã å ã§è¡ãããŠãããããé å»¶ã¬ã€ã¢ãŠãã®ã¹ã¯ããŒã« ããã©ãŒãã³ã¹ã«åœ±é¿ããŠããŸããã742087a
ããŒãžã§ã³ 1.8.0
2025 幎 4 æ 23 æ¥
androidx.compose.ui:ui-*:1.8.0
ããªãªãŒã¹ãããŸãããããŒãžã§ã³ 1.8.0 ã«ã¯ãããã® commit ãå«ãŸããŠããŸãã
1.7.0 以éã®éèŠãªå€æŽ
- Compose 1.8 ã«ã¯ãã»ãã³ãã£ãã¯èªåå ¥åã®ãµããŒããæ°ãã«è¿œå ãããŠããŸããããã¹ã ã³ã³ããŒãã³ãã®èªåå ¥åã«ã¯äž¡æ¹ã®ã¢ãžã¥ãŒã«ã®ææ°ããŒãžã§ã³ãå¿ èŠãªããã䜿çšãã UI ãš Foundation ã®ããŒãžã§ã³ã 1.8 以éã§ããããšã確èªããŠãã ãããAPI ã®äœ¿ç𿹿³ãšäŸã«ã€ããŠã¯ãèªåå ¥åã®ããã¥ã¡ã³ãïŒãã¡ãïŒãã芧ãã ããã
- Compose 1.8 ã§ã¯ã
Confirm
ãContextClick
ãGestureEnd
ãGestureThresholdActivate
ãReject
ãSegmentFrequentTick
ãSegmentTick
ãToggleOn
ãToggleOff
ãVirtualKey
ãªã©ã远å ã®çš®é¡ã®è§ŠèŠãã£ãŒãããã¯ããµããŒããããŠããŸããããã¯LocalHapticFeedback
ãä»ããŠã¢ã¯ã»ã¹ã§ããŸããAndroid ã§ã¯ããã€ãã¬ãŒã¿ API ãè§ŠèŠãã£ãŒãããã¯ããµããŒãããŠããããšã瀺ãå Žåãããã©ã«ãã§å©çšã§ããŸãã Modifier.focusRestorer()
ãonEnter
ãonExit
ãFocusProperties
ãªã©ãè€æ°ã® Focus API ãå®å®çã«ãªããŸããïŒI6e667ïŒãrequestFocus
ãåŒã³åºããšãã«FocusDirection
ãæå®ã§ããããã«ãªããŸãããç¹å®ã®æ¹åã«ãã©ãŒã«ã¹ã§ããããã«ãfocusRequester
ãšFocusTargetModifierNode
ã®äž¡æ¹ã«requestFocus(FocusDirection)
API ã远å ããŸãããïŒI5d9ec][https://android-review.googlesource.com/#/q/I5d9eca3a2cd283c1b84ad6b77d929ef9a49ce4cc], b/245755256ïŒ
ããŒãžã§ã³ 1.8.0-rc03
2025 幎 4 æ 9 æ¥
androidx.compose.ui:ui-*:1.8.0-rc03
ããªãªãŒã¹ãããŸãããããŒãžã§ã³ 1.8.0-rc03 ã«ã¯ããããã® commit ãå«ãŸããŠããŸãã
ãã°ã®ä¿®æ£
- ååž°ã®åå ãšãªã£ãŠãããã©ãŒã«ã¹çžäºéçšæ§ã®ä¿®æ£ã®äžéšãç¡å¹åããŸãããïŒb9d998ãb/369256395ãb/378570682ãb/376142752ãb388590015/ãb/389994198ãb/391378895ïŒ
ããŒãžã§ã³ 1.8.0-rc02
2025 幎 3 æ 26 æ¥
androidx.compose.ui:ui-*:1.8.0-rc02
ããªãªãŒã¹ãããŸãããããŒãžã§ã³ 1.8.0-rc02 ã«ã¯ããããã® commit ãå«ãŸããŠããŸãã
ãã°ã®ä¿®æ£
- Compose éå±€ã«åã蟌ãŸãããã©ãŒã«ã¹ããããã¥ãŒãããã©ãŒã«ã¹ããããã¥ãŒã LazyList ããåé€ããããšãã«åå ¥å¯èœãªã³ã³ããžã·ã§ã³ãåŒãèµ·ããåé¡ãä¿®æ£ããŸãããïŒ765562ïŒ
ããŒãžã§ã³ 1.8.0-rc01
2025 幎 3 æ 12 æ¥
androidx.compose.ui:ui-*:1.8.0-rc01
ããªãªãŒã¹ãããŸãããããŒãžã§ã³ 1.8.0-rc01 ã«ã¯ãããã® commit ãå«ãŸããŠããŸãã
ãã°ã®ä¿®æ£
- ãã©ãŒã«ã¹ãããŠãã
AndroidView
ããœãã ããŒããŒããã¢ã¯ãã£ããªç¶æ ã§åé€ãããå Žåã«ã¯ã©ãã·ã¥ããåé¡ãä¿®æ£ããŸãããïŒIc725aïŒ - æ°ãããã©ãŒã«ã¹ç¶æ åŠçã®å®è£ ã«ãããããã€ãã®åé¡ãä¿®æ£ããŸãããïŒb/395895685ïŒ
LaunchedEffect
ã䜿çšããŠããã¹ã ãã£ãŒã«ãã®ãã©ãŒã«ã¹ããªã¯ãšã¹ãããéã«ãèªåå ¥åããããã¯ãããåé¡ãä¿®æ£ïŒb/392539099ïŒ
ããŒãžã§ã³ 1.8.0-beta03
2025 幎 2 æ 26 æ¥
androidx.compose.ui:ui-*:1.8.0-beta03
ããªãªãŒã¹ãããŸãããããŒãžã§ã³ 1.8.0-beta03 ã«ã¯ããããã® commit ãå«ãŸããŠããŸãã
API ã®å€æŽ
- Android ã®ãŠãŒã¶ãŒè£å©ãã§ãã¯ããªã³ã«ãã
enableAccessibilityChecks()
API ããTestRule ã䜿çšããŠããªãå Žåã¯compose:ui:ui-test-accessibility
ãTestRule
ã§åŒã³åºãå Žåã¯compose:ui:ui-test-junit4-accessibility
ãšããåå¥ã®ããã±ãŒãžã«ç§»åããŸããïŒI547efãb/391560768ïŒ - åºå倿ãé©çšãããåã«ããã¹ã ãã£ãŒã«ãã®å€ããã£ããã£ããæ°ããã»ãã³ãã£ã¯ã¹ ããããã£
InputText
ã远å ããŸãããïŒIae46aïŒ
ãã°ã®ä¿®æ£
- èªåå ¥åãµãŒãã¹ã§å ¥åããã¹ãã§ã¯ãªã倿ãããåºåããã¹ããä¿åãããåé¡ãä¿®æ£ããŸãããïŒIae46aãb/395911609ãb/176949051ïŒ
ããŒãžã§ã³ 1.8.0-beta02
2025 幎 2 æ 12 æ¥
androidx.compose.ui:ui-*:1.8.0-beta02
ããªãªãŒã¹ãããŸãããããŒãžã§ã³ 1.8.0-beta02 ã«ã¯ãããã® commit ãå«ãŸããŠããŸãã
æ°æ©èœ
Configuration#screenWidth
/heightDp
ãžã®åŒã³åºãã«å¯ŸããŠèŠåãã lint ãã§ãã¯ã远å ããŸããã代ããã«LocalWindowInfo.current.containerSize
ã䜿çšããŠçŸåšã®ãŠã£ã³ã㊠ãµã€ãºãååŸã§ããŸãã
ããŒãžã§ã³ 1.8.0-beta01
2025 幎 1 æ 29 æ¥
androidx.compose.ui:ui-*:1.8.0-beta01
ããªãªãŒã¹ãããŸãããããŒãžã§ã³ 1.8.0-beta01 ã«ã¯ãããã® commit ãå«ãŸããŠããŸãã
API ã®å€æŽ
ContextualFlowRow
ãšContextualFlowColumn
ã¯éæšå¥šãšããŠããŒã¯ãããŠããŸãããã®è©Šéšéçšçã³ã³ããŒãã³ã㯠1.7 ã§å°å ¥ãããŸãããããŸã å®å®åãããŠããããå®è£ ãæãŸãããªããšå€æãããŸãããä»åŸããã®ã³ã³ããŒãã³ãã解決ããã¯ãã ã£ããŠãŒã¹ã±ãŒã¹ã解決ããã³ã³ããŒãã³ããæäŸãããå¯èœæ§ããããŸããFlowRow
ãšFlowColumn
ã«ã¯ã1.7 ã§å°å ¥ãããoverflow
ãã©ã¡ãŒã¿ãå«ã詊éšéçšçã®ãªãŒããŒããŒãããããŸãããã®ãã©ã¡ãŒã¿ã®äœ¿çšã¯éæšå¥šã«ãªããŸããã代ããã«ããã®ãã©ã¡ãŒã¿ã®ãªããªãŒããŒããŒãã䜿çšã§ããŸãããããã®ãªãŒããŒããŒãã®ããã©ã«ãã®ãoverflowãåäœã¯ãå°å ¥ä»¥æ¥ã®ãClipãã«ãªããŸããContextualFlowRow
ã®å€ãã®ãŠãŒã¹ã±ãŒã¹ã¯ FlowRow ã䜿çšããŠå®çŸã§ããŸãããå®å šã«äžè¬åã§ããããã§ã¯ãããŸãããContextualFlowRow
ã¯ãŠãŒã¶ãŒç©ºéã§å®å šã«å®è£ å¯èœã§ãããå®è£ ãã³ããŒããŠå¿ èŠã«å¿ããŠé©å¿ãããããšãã§ããŸããä»åŸããããã®ãŠãŒã¹ã±ãŒã¹ãå¥ã®æ¹æ³ã§è§£æ±ºã§ããããã«ãªãããšãæåŸ ããŠããŸããïŒIbafecïŒ
SemanticsNodeInteraction.semanticsId()
ãåé€ããŸããã代ããã«SemanticsNodeInteraction.fetchSemanticsNode().id
ã䜿çšããŠãã ãããïŒIe397aïŒ- å€ãèªåå ¥å API ã¯éæšå¥šã«ãªããŸããã代ããã«ãæ°ããã»ãã³ãã£ã¯ã¹ ããŒã¹ã® API ã䜿çšããŠãã ãããïŒI943ffïŒ
requestAutofill
API ãæžãæããŠãèªåå ¥åãããŒãžã£ãŒã®å€éšã«ååšããããã«ããŸããïŒId1929ïŒ
ãã°ã®ä¿®æ£
previouslyFocusedRect
ãã©ã¡ãŒã¿ïŒãã©ãŒã«ã¹æ¹åã«é¢é£ïŒãæå³äžæãªrequestFocus()
ãComposeView
ãã¹ããããããã©ãŒã«ã¹ã«é¢ããåé¡ãä¿®æ£ããŸãããïŒIfdc2fãb/388590015ïŒGraphicsLayer.record { this@ContentDrawScope.drawContent() }
ã®äœ¿çšæã«ææçºçãã NPE ãä¿®æ£ããŸããããã®ããã«drawContent()
ãèšé²ããå Žåã¯ãGraphicsLayer
ã®ã¡ã³ããŒé¢æ°ã§ã¯ãªããDrawScope
å ã§GraphicsLayer#record
æ¡åŒµé¢æ°ã䜿çšããŠãã ãããïŒI75fc0ãb/389046242ïŒ- ã¢ãã¡ãŒã·ã§ã³äžã«çç¥èšå·ãå«ãããã¹ã ã¬ã€ã¢ãŠãã誀ã£ãŠå€æãããããšãããåé¡ãä¿®æ£ããŸããã詳ããã¯ãb/389707025 ãã芧ãã ããïŒIe55b1ãb/389707025ïŒ
ããŒãžã§ã³ 1.8.0-alpha08
2025 幎 1 æ 15 æ¥
androidx.compose.ui:ui-*:1.8.0-alpha08
ããªãªãŒã¹ãããŸãããããŒãžã§ã³ 1.8.0-alpha08 ã«ã¯ãããã® commit ãå«ãŸããŠããŸãã
API ã®å€æŽ
AutofillManager
ãæœè±¡ã¯ã©ã¹ã«ãããïŒI0a3b0ïŒ- IME ããã©ãŒã«ã¹å¯èœãªã¢ã€ãã ã®ãªã
ComposeView
ã«ãã©ãŒã«ã¹ããããšããå Žåã®ã¯ã©ãã·ã¥ãåAndroidViews
å ã®ãã©ãŒã«ã¹å€æŽããã©ãŒã«ã¹ ãªã¯ãšã¹ããAndroidView
ãæ®ããªã©ããã©ãŒã«ã¹é¢é£ã®ããã€ãã®åé¡ãä¿®æ£ããŸãããïŒIa03c3ãb/369256395ãb/378570682ãb/376142752ïŒ FocusEnterExitScope.cancelFocus()
ãcancelFocusChange()
ã«å€æŽããŸãããïŒI89959ïŒ- ããã§ã
RectInfo.calculateOcclusions()
ã䜿çšããŠã³ã³ããŒã¶ãã« ãªã¯ã«ãŒãžã§ã³ãèšç®ã§ããããã«ãªããŸããã - ã°ããŒãã« ã¬ã€ã¢ãŠãã®å€æŽã®ãªã¹ããŒãç»é²ããããã«ã
DelegatableNode
ã«æ¡åŒµé¢æ°ã远å ããŸãããïŒI68b59ïŒ
ãã°ã®ä¿®æ£
ComposeContentTestRule.setContent
ã䜿çšããå Žåã«ãã¹ã察象ã®ã³ã³ããŒã¶ãã«ã®ãã¹ããšããŠäœ¿çšãããã¢ã¯ãã£ããã£ã§ãSDK 35 ãã¿ãŒã²ãããšããå Žåã«ActionBar
ããã¹ã ã³ã³ãã³ããšéè€ããªãããã«ãããŒãTheme.Material.Light.NoActionBar
ã䜿çšãããããã«ãªããŸããããã®åäœããªããã¢ãŠãããã«ã¯ãui-test-manifest
ãžã®äŸåé¢ä¿ãåé€ãããã¹ãã¢ããªã® AndroidManifest.xml ã«ComponentActivity
ã®ã¢ã¯ãã£ãã㣠ãšã³ããªãä»»æã®ããŒãã§è¿œå ããŸããïŒI7ae1bãb/383368165ïŒ- åãããªãšãŒã·ã§ã³èšå®ã®ãªãœãŒã¹ ãã©ã³ãã§ã誀ã£ãããªãšãŒã·ã§ã³èšå®ãé©çšãããåå ãšãªãéå°ãªãã£ãã·ã¥ä¿åãåé¿ãããããã«ãªããŸãããïŒIf3dffãb/372044241ïŒ
AnnotatedString.fromHtml
ã<ul>/<li>
ã¿ã°ããµããŒãããããã«ãªããŸãããïŒI7c2feãb/299662276ãb/139326648ïŒ
å€éšããã®åå
- æ°ãã Clipboard ã€ã³ã¿ãŒãã§ãŒã¹ãšãã®ã³ã³ããžã·ã§ã³ ããŒã«ã«ã远å ããŸãããïŒI80809ïŒ
ããŒãžã§ã³ 1.8.0-alpha07
2024 幎 12 æ 11 æ¥
androidx.compose.ui:ui-*:1.8.0-alpha07
ããªãªãŒã¹ãããŸãããããŒãžã§ã³ 1.8.0-alpha07 ã«ã¯ããããã® commit ãå«ãŸããŠããŸãã
API ã®å€æŽ
- ããŒã«çšã«
LayoutNode
ãããªãŒããŒãå ¬éããŸãããïŒI26f7fïŒ LocalAutofillHighlightColor
ã³ã³ããžã·ã§ã³ ããŒã«ã«ã§ Color åã䜿çšããŸããïŒI0e05bïŒ- éæšå¥šã®
UrlAnnotation
ãšãã®ã¡ãœããã詊éšéçšãšããŠããŒã¯ãããŸãŸã«ããŸããïŒIc0021ïŒ
ãã°ã®ä¿®æ£
BasicText
ãŸã㯠Text ã³ã³ããŒã¶ãã«å ã§LinkAnnotation
ã䜿çšãããšIndexOutOfBoundsException
ãã¯ã©ãã·ã¥ããåé¡ãä¿®æ£ããŸããïŒbe7605ãb/374115892ïŒ- ã«ã¹ã¿ã ã·ã§ã€ãã®å¡ãã€ã¶ãããã¹ã ãã£ãŒã«ãã§ã€ã³ãžã±ãŒã¿ãŒç·ãã¯ãªãããããªãåé¡ãä¿®æ£ããŸãããïŒI4f87fãb/380704151ïŒ
- é·ãã¹ã¯ãªãŒã³ã·ã§ããã§èæ¯ãæ¬ èœããåé¡ãä¿®æ£ããŸãããïŒI4d57aïŒ
- ãã®ã©ã€ãã©ãªã¯ãå䜿çšã§ãã JSpecify nullness ã¢ãããŒã·ã§ã³ã䜿çšããããã«ãªããŸãããKotlin ã䜿çšããŠããå Žåãæ¬¡ã®ã³ã³ãã€ã©åŒæ°ã䜿çšããŠæ£ããäœ¿çšæ³ãé©çšããå¿
èŠããããŸãã
-Xjspecify-annotations=strict
ïŒKotlin ã³ã³ãã€ã©ã®ããŒãžã§ã³ 2.1.0 以éã§ã¯ãããããã©ã«ãã§ãïŒãïŒIdfef8ãb/326456246ïŒ - Android Q 以éã§å®è¡ãããŠããå Žåãåºè²åãš HDR ã«ã©ãŒã® Compose ãµããŒããæŽæ°ããŸããïŒIcd8beãb/379135036ïŒ
- èªã¿èŸŒã¿ã«å€±æãããªãœãŒã¹ ãã©ã³ãã¯ã以åã®åäœã§ããæž¬å®ã§äŸå€ãã¹ããŒããã®ã§ã¯ãªããããã©ã«ãã®ãã©ã³ãã«èªåçã«ãã©ãŒã«ããã¯ããããã«ãªããŸãããïŒIb6a49ïŒ
AndroidView
ããã¿ãããããŠã¢ã¿ããããããšãã«ãã©ãŒã«ã¹ã倱ãããåé¡ãä¿®æ£ããŸãããïŒI53446ïŒ- å¢çå€ã¬ã€ã¢ãŠã ã¢ã¯ã·ã§ã³ããã®
requestFocus()
ãåãå ¥ããŸããïŒIa8461ïŒ
å€éšããã®åå
- UI ã«
BringIntoViewResponderModifierNode
ã远å ããŸãããããã«ãããBring Into View æ©èœãå®è£ ããæ°ããæ¹æ³ãæäŸããããã©ãããã©ãŒã ã¬ãã«ã§ã®å®è£ ãå¯èœã«ãªããŸããïŒIa6dd8ïŒ
ããŒãžã§ã³ 1.8.0-alpha06
2024 幎 11 æ 13 æ¥
androidx.compose.ui:ui-*:1.8.0-alpha06
ããªãªãŒã¹ãããŸãããããŒãžã§ã³ 1.8.0-alpha06 ã«ã¯ãããã® commit ãå«ãŸããŠããŸãã
API ã®å€æŽ
stylusHoverIcon
修食åã远å ããŸããïŒIff20aãb/331289114ïŒ- èªåå ¥åãããŒãžã£ãŒãã€ã³ã¿ãŒãã§ãŒã¹ã«å€æŽããŸããïŒI84914ãb/376080755ïŒ
requestFocus(FocusDirection)
ãfocusRequester
ãšFocusTargetModifierNode
ã®äž¡æ¹ã«è¿œå ããŠãç¹å®ã®æ¹åã§ãã©ãŒã«ã¹ã§ããããã«ããŸããïŒI5d9ecãb/245755256ïŒFocusProperties.enter
ãšFocusProperties.exit
ã¯onEnter
ãšonExit
ã«çœ®ãæããããFocusDirection
ãã©ã¡ãŒã¿ã®ä»£ããã«ã¬ã·ãŒã㌠ã¹ã³ãŒãã䜿çšãããããã«ãªããŸãããïŒI6e667ïŒ- ããã¹ã ããŒã«ããŒã«èªåå ¥åã®ãµããŒãã远å ããŸãããïŒIe6a4cïŒ
Modifier.focusRestorer()
ïŒI99c03ïŒã«å¯Ÿãã API ã®å€æŽ:- ãã©ã¡ãŒã¿åããfallbackãã«å€æŽ
- ãã©ã¡ãŒã¿ã¯ã©ã ãã§ã¯ãªã
FocusRequester
ã«ãªããŸãã - ãã©ã¡ãŒã¿ã NULL ã§ã¯ãªããªããããã©ã«ãå€ã Default ã«ãªããŸãã
- èªåå
¥åãããŒãžã£ãŒ ã€ã³ã¿ãŒãã§ãŒã¹ãã
@Experimental
ã¢ãããŒã·ã§ã³ãåé€ããŸããããã®æ©èœã¯ãŸã ãã®ãªãªãŒã¹ã察象ãšãã WIP ã§ããã@Experimental APIïŒId8398ïŒãå°å ¥ããããããŸããã LocalHapticFeedback
ã¯ããã€ãã¬ãŒã¿ãŒ API ããããã£ã¯ã¹ããµããŒãããŠããããšã瀺ãå Žåãããã©ã«ãã®HapticFeedback
å®è£ ãæäŸããããã«ãªããŸãããHapticFeedbackType
-Confirm
ãContextClick
ãGestureEnd
ãGestureThresholdActivate
ãReject
ãSegmentFrequentTick
ãSegmentTick
ãToggleOn
ãToggleOff
ãVirtualKey
ã«ä»¥äžã远å ãããŸãããButton
ãIconButton
ãTextButton
ãCard
ãªã©ã® Wear Compose ã®é·æŒãå¯èœãªã³ã³ããŒãã³ãã§ãé·æŒããã³ãã©ãæå®ãããŠããå Žåã«LONG_PRESS
ãããã£ã¯ã¹ãå®è¡ãããããã«ãªããŸãããïŒI5083dïŒOverscrollConfiguration
ãšLocalOverscrollConfiguration
ãåé€ããrememberPlatformOverscrollFactory
ã远å ããŠãããã©ã«ãã®ãªãŒããŒã¹ã¯ããŒã«å®è£ ã®ã€ã³ã¹ã¿ã³ã¹ãäœæãŸãã¯ãã©ã¡ãŒã¿ãã«ã¹ã¿ãã€ãºããŸãããªãŒããŒã¹ã¯ããŒã«ãç¡å¹ã«ããã«ã¯ãLocalOverscrollConfiguration provides null
ã§ã¯ãªãLocalOverscrollFactory provides null
ã䜿çšããŸããå 圩ã®è²ãããã£ã³ã°ã倿Žããã«ã¯ãLocalOverscrollConfiguration provides OverscrollConfiguration(myColor, myPadding)
ã§ã¯ãªãLocalOverscrollFactory provides rememberPlatformOverscrollFactory(myColor, myPadding)
ã䜿çšããŸããïŒIe71f9ãb/255554340ãb/234451516ïŒ- 詊éšéçšçã®
GlobalAssertions
API ãåé€ããŸãããæ¬æ¥ã®çšéã¯ã¢ã¯ã»ã·ããªã㣠ãã§ãã¯ã®å®è¡ã§ãããã®ç®çã«ã¯enableAccessibilityChecks()
ã䜿çšããŠãã ãããïŒI59322ïŒ
ããŒãžã§ã³ 1.8.0-alpha05
2024 幎 10 æ 30 æ¥
androidx.compose.ui:ui-*:1.8.0-alpha05
ããªãªãŒã¹ãããŸãããããŒãžã§ã³ 1.8.0-alpha05 ã«ã¯ããããã® commit ãå«ãŸããŠããŸãã
æ°æ©èœ
ãã®ãªãªãŒã¹ã§ã¯ãèªåå ¥åã¯è©Šéšéçšæ©èœã®èåŸã§å ¬éãããŠããŸããGoogle ã§ã¯ãããã©ãŒãã³ã¹ã®æ¹åã«åãçµãã§ãããAPI ã«é¢ããæ©æã®ãã£ãŒãããã¯ãæ±ããŠããŸããAPI ã¯ããã£ãŒãããã¯ã«åºã¥ããŠå®å®çã®åã«é²åããããšãæ³å®ãããŠããŸãã
- èªåå
¥åãæå¹ã«ããã«ã¯ã
onCreate
ã§ComposeUiFlags.isSemanticAutofillEnabled
ã true ã«èšå®ããææ°ã® Compose ã¹ãããã·ã§ããã䜿çšããŸãã - ãã®ããŒãžã§ã³ã®èªåå ¥åã§ã¯ãæåãå®å šãªãã¹ã¯ãŒãã®åè£ãããã²ãŒã·ã§ã³ã«ããèªèšŒæ å ±ã®ä¿åããµããŒããããŠããŸãããŸããèªåå ¥åå¯èœãªãã£ãŒã«ãã«ãã©ãŒã«ã¹ãåœãã£ããšãããããã¹ã ã³ã³ããŒãã³ãã®ããã¹ã ããŒã«ããŒããèªåå ¥åãããªã¬ãŒããããšãã®å ¥åããµããŒãããŠããŸããèªåå ¥åãå®äºãããšãã³ã³ããŒãã³ãããã€ã©ã€ã衚瀺ãããŸãã
API ã®å€æŽ
expect
/actual
æ§é ã«åŸãããã«èªåå ¥åã€ã³ã¿ãŒãã§ãŒã¹ã倿ŽãïŒI22dceïŒ- èªåå
¥åã®æåããå
¥åã®ãã€ã©ã€ãã®è²çžã倿Žããããã«äœ¿çšã§ãã
CompositionLocal
ãå°å ¥ããŸããïŒI32092ïŒ LayoutNode
ã®ã«ãŒã/ãŠã£ã³ããŠ/ç»é¢çžå¯Ÿäœçœ®ãšãµã€ãºããµãã¹ã¯ã©ã€ãã§ãã API ã§ããModifier.onRectChanged
API ã远å ããŸããããã® API ã¯ãæ¢åã®onGloballyPositioned
修食åãè¡ãå€ãã®ãŠãŒã¹ã±ãŒã¹ã解決ããŸããããªãŒããŒããããã¯ããã«å°ãªãããŠãŒã¹ã±ãŒã¹ã®èŠä»¶ã«å¿ããŠã³ãŒã«ããã¯ããããŠã³ã¹ããŠã¹ããããªã³ã°ããæ©èœã API ã«ä»å±ããŠããŸããïŒId28c7ãb/372765423ãb/372757007ãb/372994338ïŒ- èªåå
¥åãããŒãžã£ãŒãæ¡åŒµãããŠãŒã¶ãŒãæ°ãã«å
¥åããèªèšŒæ
å ±ãä¿åããã®ã«åœ¹ç«ã€
commit()
API ãšcancel()
API ã远å ããŸãããïŒI2da00ïŒ - ãŠãŒã¶ãŒã®èªåå
¥åã®ãããŒã埮調æŽããããã«äœ¿çšã§ããæ°ãã
AutofillManager
ã€ã³ã¿ãŒãã§ãŒã¹ãšããã®æ°ããããŒãžã§ã³ã®èªåå ¥åããªã³ã«ããisSemanticAutofillEnabled
ãã©ã°ãå°å ¥ããŸããïŒI9d484ïŒ LayoutNode
ã®ã«ãŒã/ãŠã£ã³ããŠ/ç»é¢çžå¯Ÿäœçœ®ãšãµã€ãºããµãã¹ã¯ã©ã€ãã§ãã API ã§ããModifier.onRectChanged
API ã远å ããŸããããã® API ã¯ãæ¢åã®onGloballyPositioned
修食åãè¡ãå€ãã®ãŠãŒã¹ã±ãŒã¹ã解決ããŸããããªãŒããŒããããã¯ããã«å°ãªãããŠãŒã¹ã±ãŒã¹ã®èŠä»¶ã«å¿ããŠã³ãŒã«ããã¯ããããŠã³ã¹ããŠã¹ããããªã³ã°ããæ©èœã API ã«ä»å±ããŠããŸããïŒI3c8faïŒ- æ¡åŒµãããèªåå ¥åã®ãµããŒãã®ããã«ãã»ãã³ãã£ã㯠ããããã£ãšããŒã¿åã远å ããŸãããïŒI52c7dïŒ
AnnotatedString
ãã«ããŒã®ãã¹ãŠã®ã¡ãœããã詊éšéçšçã§ã¯ãªããªããŸããïŒIa89c8ãb/261561823ïŒ
ãã°ã®ä¿®æ£
- Compose ã«åã蟌ãŸãããã¥ãŒããã©ãŒã«ã¹ãããŠããå ŽåãããŒã¿ãªãŒ ã€ãã³ããåãåããããã«ãªããŸããïŒI4d53aãb/320510084ïŒ
- æ§æå€æŽæã«ããŸããŸãªãªãœãŒã¹ã¿ã€ããæŽæ°ãããªãåé¡ãä¿®æ£ããŸããïŒIa9b99ãb/352336694ïŒ
- ç¹å®ã®å€ã Sony ããã€ã¹ã§ POBox æ¥æ¬èªããŒããŒãã䜿çšããŠããå Žåã«
TextField
ãæ£ããæ©èœããªãåé¡ã解決ããŸãããïŒIa9b99ãb/373743376ïŒ - ãã€ã¢ãã°ãäžå€®ã§ã¯ãªãç»é¢ã®äžéšã«è¡šç€ºãããåé¡ãä¿®æ£ããŸããïŒIa2ecãb/373093006ïŒ
- API 35 以äžãã¿ãŒã²ãããšããå Žåããã€ã¢ãã°ã§
decorFitsSystemWindows
ã false ã«èšå®ããå¿ èŠããªããªããŸãããïŒIbc94ãb/364492593ïŒ - ã¬ã€ã€ããŠã£ã³ããŠéïŒãã€ã¢ãã°ãšã¡ã€ã³ ã³ã³ãã³ããªã©ïŒãç§»åããéã®ã¯ã©ãã·ã¥ãä¿®æ£ïŒI675baãb/330955281ïŒ
ããŒãžã§ã³ 1.8.0-alpha04
2024 幎 10 æ 16 æ¥
androidx.compose.ui:ui-*:1.8.0-alpha04
ããªãªãŒã¹ãããŸãããããŒãžã§ã³ 1.8.0-alpha04 ã«ã¯ãããã® commit ãå«ãŸããŠããŸãã
API ã®å€æŽ
DelegatableNode#onDensityChange
ã³ãŒã«ããã¯ãšDelegatableNode#onLayoutDirectionChange
ã³ãŒã«ããã¯ã远å ããŠããããã®ã³ãŒã«ããã¯ã倿Žããããšãã«ããŒãã®ç¶æ ãæŽæ°ã§ããããã«ããŸããïŒI04f3eãb/340662451ïŒ- çŸåšã®ãŠã£ã³ããŠã®ã³ã³ãã³ã ã³ã³ããã®ãµã€ãºãååŸãã
WindowInfo#containerSize
ã远å ããŸããããã¯LocalWindowInfo
ã䜿çšããŠååŸã§ããŸããïŒIdc38cãb/369334429ãb/360343819ïŒ - é²è¡äžã®ããªã³ã°äžã«ããŒãããªãŒããåé€ããããã¹ããããã¹ã¯ããŒã«å¯èœãªèŠçŽ ã®ä¿®æ£ãå°å
¥ããŸãããããã®ããŒãã¯ããªã³ã°ããã£ã³ã»ã«ããæ®ãã®é床ã§
onPostFling
ã€ãã³ããæ£ããéä¿¡ããŸãããŸããååž°ãçºçããå Žåã®åäœãå¶åŸ¡ãããã©ã°NewNestedScrollFlingDispatchingEnabled
ãå°å ¥ããŸãããã®ãã©ã°ã¯ããŒã¿çã®åã«åé€ãããŸããïŒI05c37ãb/371168883ïŒ - åäžã®ãã€ã³ã¿å
¥å修食åã®ã¿ããå¢çãæ¡å€§ããããã«äœ¿çšã§ãã
PointerInputModifierNode#touchBoundsExpansion
ãå°å ¥ããŸãããïŒIccf02ãb/335339283ïŒ - çŸåšã®ãŠã£ã³ããŠã®ã³ã³ãã³ã ã³ã³ããã®ãµã€ãºãååŸãã
WindowInfo#containerSize
ã远å ããŸããããã¯LocalWindowInfo
ã䜿çšããŠååŸã§ããŸããïŒI27767ãb/369334429ãb/360343819ïŒ TextFields
ããreadOnly
ãåé€ããŠãå®å®çã®åºç€ããŒãžã§ã³ã«åºå®ããŸããïŒI3aabaïŒParagraph
ãšParagraphIntrinsics
ãAnnotatedString
ã«é©çšããããã¹ãŠã®ã¢ãããŒã·ã§ã³ã®ãªã¹ããåãåãããã«ãªããŸããã以åã¯SpanStyles
ã®ãªã¹ãã®ã¿ãåãåã£ãŠããŸãããïŒI12f80ïŒ
ãã°ã®ä¿®æ£
AnnotatedString
ã§ã®æ®µèœã®åŠçæ¹æ³ãæŽæ°ããŸããã以åã¯ãéè€ããªã段èœã®ã¿ãäœæã§ããŸãããAnnotatedString
ã§å®å šã«éè€ããæ®µèœãèš±å¯ãããããããçµåãããããã«ãªããŸããããŸãããã¹ããããæ®µèœã§ã¯ãå€åŽã®æ®µèœãå åŽã®æ®µèœã®å¢çã§åå²ãããå åŽã®æ®µèœã®ã¹ã¿ã€ã«ãå€åŽã®æ®µèœã®ã¹ã¿ã€ã«ãšçµåãããããã«ãªããŸããïŒIc9554ïŒã- é·ã 0 ã®
LinkAnnotation
ãå«ãAnnotatedString
ã®ã¯ã©ãã·ã¥ãä¿®æ£ãïŒ89aac6ïŒ
ããŒãžã§ã³ 1.8.0-alpha03
2024 幎 10 æ 2 æ¥
androidx.compose.ui:ui-*:1.8.0-alpha03
ããªãªãŒã¹ãããŸãããããŒãžã§ã³ 1.8.0-alpha03 ã«ã¯ããããã® commit ãå«ãŸããŠããŸãã
API ã®å€æŽ
- Kotlin ããŒãžã§ã³ã 1.9 ã«æŽæ°ïŒI1a14cïŒ
- ã¢ã¯ã»ã·ããªã㣠ãµãŒãã¹åãã«ãããŒãžã£ãŒã®ãªã¹ãã®åäœããšãã¥ã¬ãŒãããã«ã«ãŒã»ã«ãšããæ°ããã»ãã³ãã£ã¯ã¹ ããŒã«ãå°å ¥ããŸãããïŒId354bãb/354109776ãb/239672673ïŒ
invisibleToUser()
ãhideFromAccessibility
ã«å€æŽããŸãããæ©èœã¯å€ãããŸããã詳ããã¯ãããã¥ã¡ã³ããã芧ãã ãããïŒIb43a3ïŒ
ãã°ã®ä¿®æ£
SensitiveContent
修食åã®ããã¥ã¡ã³ããæŽæ°ïŒIb0442ïŒ- äžéšã® Android ããŒãžã§ã³ã§ãç¹å®ã®æ±çšã¢ãŠãã©ã€ã³ ã¯ãªãããé«åºŠã®åœ±ãšçµã¿åãããããšç¡èŠãããåé¡ãä¿®æ£ããŸãã
- ç¹å®ã® Android ããŒãžã§ã³ã§ãæ±çšã®ã¢ãŠãã©ã€ã³ ã¯ãªãããæå®ãããŠããå Žåã«ç©ºã®ã¯ãªãããé©çšãããåé¡ãä¿®æ£ããŸããã
- å€éš View ã§ IME ãã¢ã¯ãã£ããªãšãã«ãNext ã¢ã¯ã·ã§ã³ã䜿çšããŠ
ComposeView
ã«ãã©ãŒã«ã¹ãç§»åãããšäŸå€ãã¹ããŒãããåé¡ãä¿®æ£ããŸãããclearFocus()
ã®åäœã¯ãAPI < 28 ã® View ã®åäœãšäžèŽããŸãããã®å ŽåãclearFocus()
ã«ãã£ãŠããã©ã«ãã® View ããã©ãŒã«ã¹ãããå¯èœæ§ããããŸãã - ç°ãªãã¬ã€ã¢ãŠã ãã¹ã®ãµãã³ã³ããžã·ã§ã³ã®ç®¡çãåé¢ããããšã§ã
LazyList
ã®åãé¢ãããããŒãã§é 眮ãè¡ãããåé¡ãä¿®æ£ããŸããã - ãã©ãŒã«ã¹ã
TextField
ããEditText
ãŸãã¯ä»ã® View ããŒã¹ã®ãšãã£ã¿ã«åãæ¿ãããšããœãããŠã§ã¢ ããŒããŒããã¡ãã€ãåé¡ãä¿®æ£ããŸããã - ãã¹ãããã Scroll ããŒãã¯ããã¿ãããããåŸã
onPostFling
ã€ãã³ããæ£ãããã£ã¹ãããããããã«ãªããŸããã - å šè¬çãªããã©ãŒãã³ã¹ã®æ¹å
ããŒãžã§ã³ 1.8.0-alpha02
2024 幎 9 æ 18 æ¥
androidx.compose.ui:ui-*:1.8.0-alpha02
ããªãªãŒã¹ãããŸãããããŒãžã§ã³ 1.8.0-alpha02 ã«ã¯ããããã® commit ãå«ãŸããŠããŸãã
API ã®å€æŽ
TextOverflow.StartEllipsis
ãšTextOverflow.MiddleEllipsis
ãå©çšã§ããããã«ãªããŸãããããã«ããã1 è¡ã®ããã¹ãã®è¡ã®å é ãŸãã¯äžå€®ã«çç¥èšå·ãé 眮ã§ããŸããïŒI38913ãb/185418980ïŒ
ãã°ã®ä¿®æ£
- ãã€ã¢ãã°
dismissOnClickoutside
ãä¿®æ£ããŸããïŒ39a3dãb/364508685ïŒ - ãã€ã¢ãã° ã³ã³ãã³ãã®åœ±ãã¯ãªããããªãïŒe8e2fãb/363027803ïŒ
- ãã©ãŒã«ã¹æ€çŽ¢ã Compose ãš View ã®éãç§»åããéã®èª€ã£ãåäœãä¿®æ£ããŸããïŒ58377ãb/350534714ïŒ
å€éšããã®åå
AlignmentLines
Map
ãVerticalAlignmentLine
ãŸãã¯HorizontalAlignmentLine
ã®å ·äœçãªåãåãå ¥ããããã«ãªããŸãããïŒI02912ïŒ- æ°ããå
±é
ByteArray.decodeToImageBitmap(): ImageBitmap
ã¡ãœãããïŒI83c21ïŒ
ããŒãžã§ã³ 1.8.0-alpha01
2024 幎 9 æ 4 æ¥
androidx.compose.ui:ui-*:1.8.0-alpha01
ããªãªãŒã¹ãããŸãããããŒãžã§ã³ 1.8.0-alpha01 ã«ã¯ããããã® commit ãå«ãŸããŠããŸãã
ããŒãžã§ã³ 1.7
ããŒãžã§ã³ 1.7.8
2025 幎 2 æ 12 æ¥
androidx.compose.ui:ui-*:1.7.8
ããªãªãŒã¹ãããŸãããããŒãžã§ã³ 1.7.8 ã«ã¯ãããã® commit ãå«ãŸããŠããŸãã
ããŒãžã§ã³ 1.7.7
2025 幎 1 æ 29 æ¥
androidx.compose.ui:ui-*:1.7.7
ããªãªãŒã¹ãããŸãããããŒãžã§ã³ 1.7.7 ã«ã¯ããããã® commit ãå«ãŸããŠããŸãã
ãã°ã®ä¿®æ£
LinkAnnotation
ãå«ãAnnotatedString
ã Text ã³ã³ããŒã¶ãã«ã«æž¡ãéã®IndexOutOfBoundsException
ãä¿®æ£ããŸãããïŒIc96d2ïŒAnnotatedString
ã§LinkAnnotation
ã䜿çšãããŠããå Žåã«ããŸãã«ãã¹ãã§ã¿ã€ã ã¢ãŠããçºçããåé¡ãä¿®æ£ããŸãããïŒI04a03ïŒ
ããŒãžã§ã³ 1.7.6
2024 幎 12 æ 11 æ¥
androidx.compose.ui:ui-*:1.7.6
ããªãªãŒã¹ãããŸãããããŒãžã§ã³ 1.7.6 ã«ã¯ãããã® commit ãå«ãŸããŠããŸãã
ãã°ã®ä¿®æ£
- 以åã¯ããã©ãŒã«ã¹ ã·ã¹ãã ã«ä¿çäžã®ç¡å¹åããããšãã«ããŒã€ãã³ããçºçãããšããšã©ãŒãã¹ããŒãããŠããŸããã代ããã«ãšã©ãŒããã°ã«èšé²ãããããã«ãªããŸããïŒI7ea0ãb/346370327ïŒã
SemanticsPropertyReceiver.invisibleToUser()
ãã詊éšéçšçã¢ãããŒã·ã§ã³ãåé€ããŸããããã㯠1.8 ã§éæšå¥šãšãªããSemanticsPropertyReceiver.hideFromAccessibility()
ã«çœ®ãæããããŸããïŒI448f0ãb/376479686ïŒ- äžéšã®å€ã Sony ããã€ã¹ã§ POBox æ¥æ¬èªããŒããŒãã䜿çšãããš
TextField
ãæ£ããæ©èœããªãåé¡ãä¿®æ£ããŸãããïŒI94e0eãb/373743376ïŒ BasicText
ã® inlineContent ãTalkBack
ã«ãã£ãŠèªã¿äžããããªããŠãŒã¶ãŒè£å©ã«é¢ããåé¡ãä¿®æ£ããŸãããïŒI67bcbãb/376479686ïŒ
ããŒãžã§ã³ 1.7.5
2024 幎 10 æ 30 æ¥
androidx.compose.ui:ui-*:1.7.5
ããªãªãŒã¹ãããŸãããããŒãžã§ã³ 1.7.5 ã«ã¯ãããã® commit ãå«ãŸããŠããŸãã
ãã°ã®ä¿®æ£
- ã«ã¹ã¿ã ã¢ãŠãã©ã€ã³ã§ã®æšé«ãšã¯ãªããã³ã°ãæ£ããã¬ã³ããªã³ã°ãããªãåé¡ãä¿®æ£ããŸããã
- å¹
ãŒãã®
LinkAnnotation
ã§çºçããããã¹ãã®ã¯ã©ãã·ã¥ãä¿®æ£ããŸãããïŒIc1e2eïŒ - ã¯ãªãã¯å¯èœãª Text ã³ã³ããŒã¶ãã«ãšããŠãã«ãããããã¿ã³ã®
Talkback
ã§ã®ã¢ããŠã³ã¹ãä¿®æ£ããŸããïŒI1f588ïŒ
ããŒãžã§ã³ 1.7.4
2024 幎 10 æ 16 æ¥
androidx.compose.ui:ui-*:1.7.4
ããªãªãŒã¹ãããŸãããããŒãžã§ã³ 1.7.4 ã«ã¯ãããã® commit ãå«ãŸããŠããŸãã
ããŒãžã§ã³ 1.7.3
2024 幎 10 æ 2 æ¥
androidx.compose.ui:ui-*:1.7.3
ããªãªãŒã¹ãããŸãããããŒãžã§ã³ 1.7.3 ã«ã¯ãããã® commit ãå«ãŸããŠããŸãã
ãã°ã®ä¿®æ£
- ç¹å®ã® Android ããŒãžã§ã³ã§ãæ±çšã®ã¢ãŠãã©ã€ã³ ã¯ãªãããæå®ãããšã¯ãªããå¢çã空ã«ãªãåé¡ãä¿®æ£ããŸããã
- å€éš View ã§ IME ãã¢ã¯ãã£ããªãšãã«ãNext ã¢ã¯ã·ã§ã³ã䜿çšããŠ
ComposeView
ã«ãã©ãŒã«ã¹ãç§»åãããšäŸå€ãã¹ããŒãããåé¡ãä¿®æ£ããŸãããclearFocus()
ã®åäœã¯ãAPI < 28 ã® View ã®åäœãšäžèŽããŸãããã®å ŽåãclearFocus()
ã«ãã£ãŠããã©ã«ãã® View ããã©ãŒã«ã¹ãããå¯èœæ§ããããŸãã - å
èªã¿ã®ç¡å¹åã«èª€ã£ã
placeOrder
ã䜿çšãããŠããåé¡ãä¿®æ£ããŸãããããã«ãããå èªã¿ã®é 眮ãã¹ãããããããšããžã±ãŒã¹ãä¿®æ£ãããŸããã
ããŒãžã§ã³ 1.7.2
2024 幎 9 æ 18 æ¥
androidx.compose.ui:ui-*:1.7.2
ããªãªãŒã¹ãããŸãããããŒãžã§ã³ 1.7.2 ã«ã¯ãããã® commit ãå«ãŸããŠããŸãã
ãã°ã®ä¿®æ£
- 詳现ãªãã¬ãŒã¹ãåé€ããããšã§ããŠãŒã¶ãŒè£å©ããŒãæ å ±ãšã»ãã³ãã£ã¯ã¹ ã€ãã³ãã®ããã©ãŒãã³ã¹ãæ¹åããŸãããïŒI89156ãb/362530618ïŒ
- éåžžã«å€§ããªæž¬å®ãµã€ãºãæž¡ããããšãã«
ComposeView
ãã¯ã©ãã·ã¥ããªããªããŸããïŒda5dbãb/347036173ïŒ - ãã¿ã³ã®
LiveRegion
ã¢ããŠã³ã¹ãèªã¿äžããããªããŠãŒã¶ãŒè£å©æ©èœã®ã¹ã¯ãªãŒã³ ãªãŒããŒã®åé¡ãä¿®æ£ããŸãããïŒf66fa7ãb/348590026ïŒ
ããŒãžã§ã³ 1.7.1
2024 幎 9 æ 10 æ¥
- Android ã¢ãŒãã£ãã¡ã¯ãã«å€æŽã¯ãããŸããã
-desktop
ã¢ãŒãã£ãã¡ã¯ããåé€ããã-jvmStubs
ã¢ãŒãã£ãã¡ã¯ããš-linuxx64Stubs
ã¢ãŒãã£ãã¡ã¯ãã远å ãããŸããããããã®ã¿ãŒã²ããã¯äœ¿çšãããããšãæ³å®ããŠããããJetbrains Compose ã®åãçµã¿ãæ¯æŽããããã®ãã¬ãŒã¹ãã«ãã§ãã
ããŒãžã§ã³ 1.7.0
2024 幎 9 æ 4 æ¥
androidx.compose.ui:ui-*:1.7.0
ããªãªãŒã¹ãããŸããã
1.6.0 以éã®éèŠãªå€æŽ
ããŒãžã§ã³ 1.7.0 ã®éèŠãªå€æŽã«ã€ããŠã¯ããã¡ãã®ããã°æçš¿ãã芧ãã ããã
ããŒãžã§ã³ 1.7.0-rc01
2024 幎 8 æ 21 æ¥
androidx.compose.ui:ui-*:1.7.0-rc01
ããªãªãŒã¹ãããŸãããããŒãžã§ã³ 1.7.0-rc01 ã«ã¯ãããã® commit ãå«ãŸããŠããŸãã
äž»ãªå€æŽç¹
- ui:ui ã¢ãžã¥ãŒã«ã§ãfoundation:foundation ã®æå°ããŒãžã§ã³ã 1.7.0-rc01 以éã§ããããšã匷å¶ããããã«ãªããŸãããããã¯ã1.7.0-alpha01 ã®åæã«çºçãã
NestedScrollSource
ã®å€æŽã«é¢ãã ui ãš foundation ã®åäœã®éäºææ§ãä¿®æ£ããããã«é©çšãããŸãã
ããŒãžã§ã³ 1.7.0-beta07
2024 幎 8 æ 7 æ¥
androidx.compose.ui:ui-*:1.7.0-beta07
ããªãªãŒã¹ãããŸãããããŒãžã§ã³ 1.7.0-beta07 ã«ã¯ããããã® commit ãå«ãŸããŠããŸãã
ãã°ã®ä¿®æ£
- ããã¹ãå
¥åé¢é£ã®
SemanticsNodeInteraction
颿°performTextReplacement
ãperformTextInput
ãperformTextClearance
ã¯ãèªã¿åãå°çšã®TextFields
ã§åŒã³åºããããšã¢ãµãŒã·ã§ã³ ãšã©ãŒãã¹ããŒããããã«ãªããŸããïŒI4ae8fïŒ
ããŒãžã§ã³ 1.7.0-beta06
2024 幎 7 æ 24 æ¥
androidx.compose.ui:ui-*:1.7.0-beta06
ããªãªãŒã¹ãããŸãããããŒãžã§ã³ 1.7.0-beta06 ã«ã¯ãããã® commit ãå«ãŸããŠããŸãã
ããŒãžã§ã³ 1.7.0-beta05
2024 幎 7 æ 10 æ¥
androidx.compose.ui:ui-*:1.7.0-beta05
ããªãªãŒã¹ãããŸãããããŒãžã§ã³ 1.7.0-beta05 ã«ã¯ãããã® commit ãå«ãŸããŠããŸãã
ãã°ã®ä¿®æ£
- ãœãããŠã§ã¢ ããŒããŒãã倿Žãããšããã©ãŒã«ã¹ã倱ãããŠåã³ååŸããããŸã§ã
TextField
ãæ°ããããŒããŒãããã®å ¥åãåãä»ããªããªããã°ãä¿®æ£ããŸããã SurfaceView
ã³ã³ãã³ãã§ã¬ã³ããªã³ã°ããéã«ãã¬ã€ã€ ã³ã³ãã³ããæ°žç¶åããããšãããšæå³ããªãå¯äœçšãçºçããåé¡ãä¿®æ£ããŸããã
ããŒãžã§ã³ 1.7.0-beta04
2024 幎 6 æ 26 æ¥
androidx.compose.ui:ui-*:1.7.0-beta04
ããªãªãŒã¹ãããŸãããããŒãžã§ã³ 1.7.0-beta04 ã«ã¯ããããã® commit ãå«ãŸããŠããŸãã
ãã°ã®ä¿®æ£
- éåžžã«é·ãããã¹ãè¡ïŒ1 äžæåãªã©ïŒã枬å®ããéã®ã¯ã©ãã·ã¥ãåé¿ïŒ8157abïŒ
GraphicsLayer
API ã®ãœãããŠã§ã¢ ã¬ã³ããªã³ã° ãµããŒããç¡å¹ã«ããŸããïŒ35ddd8ïŒ- ã¬ã€ã€ã®æ°žç¶æ§ããžãã¯ã®ã¯ã©ãã·ã¥ãä¿®æ£ãïŒ70b13eïŒ
- ã¬ã€ã€ ãªããžã§ã¯ãã®åå©çšã®æé©åã¯ãã¬ã³ããªã³ã°ã®åé¡ãåŒãèµ·ããããããå ã«æ»ãããŸãããïŒ70b13eïŒ
ããŒãžã§ã³ 1.7.0-beta03
2024 幎 6 æ 12 æ¥
androidx.compose.ui:ui-*:1.7.0-beta03
ããªãªãŒã¹ãããŸãããããŒãžã§ã³ 1.7.0-beta03 ã«ã¯ããããã® commit ãå«ãŸããŠããŸãã
ããŒãžã§ã³ 1.7.0-beta02
2024 幎 5 æ 29 æ¥
androidx.compose.ui:ui-*:1.7.0-beta02
ããªãªãŒã¹ãããŸãããããŒãžã§ã³ 1.7.0-beta02 ã«ã¯ãããã® commit ãå«ãŸããŠããŸãã
API ã®å€æŽ
SemanticsProperties.Editable
ã®ååãIsEditable
ã«å€æŽããSemanticsPropertyReceiver.editable
ã valisEditable
ã«å€æŽããŸããããã®ããããã£ã¯ããŒã«å€ã«ãªããåžžã«ããã¹ã ãã£ãŒã«ãã§æå®ãããŸããïŒI8acd8ïŒ- ãŠãŒã¶ãŒè£å©ãã³ãããŒã¯ ãã©ã¡ãŒã¿ã®ååã倿ŽãïŒI3d440ïŒ
- ãªã³ã¯ã®ã¹ã¿ã€ã«èšå®çšã® API ãæŽæ°ããŸããã
TextLinkStyles
ãLinkAnnotation
ã³ã³ã¹ãã©ã¯ã¿ãšAnnotatedString.fromHtml
ã¡ãœããã®äžéšã«ãªããŸããïŒI90b2bïŒãè³æããTextDefaults
ãåé€ããŸããïŒI5477bïŒ
ãã°ã®ä¿®æ£
LayoutCoordinates.introducesFrameOfReference
ã®ååãLayoutCoordinates.introducesMotionFrameOfReference
ã«å€æŽããç®çãããæç¢ºã«ããŸããããã®ãã©ã°ã«åºã¥ããŠåº§æšãèšç®ããé¢é£é¢æ°ã®ååã倿ŽããŸãããïŒI3a330ïŒ
ããŒãžã§ã³ 1.7.0-beta01
2024 幎 5 æ 14 æ¥
androidx.compose.ui:ui-*:1.7.0-beta01
ããªãªãŒã¹ãããŸãããããŒãžã§ã³ 1.7.0-beta01 ã«ã¯ããããã® commit ãå«ãŸããŠããŸãã
API ã®å€æŽ
performCustomAccessibilityActionLabelled
ã®ååãperformCustomAccessibilityActionWithLabel
ã«ãperformCustomAccessibilityActionWhere
ã®ååãperformCustomAccessibilityActionWithLabelMatching
ã«å€æŽããŸãããïŒI5387fïŒAnnotatedString.hasEqualsAnnotations
ãhasEqualAnnotations
ã«ãªããŸãããïŒI685c0ïŒ- ããã¹ãå
ã®ãããªã¢ã« ããŒãã®ãªã³ã¯ãååŸããããã® API ãæŽæ°ããŸãããå
·äœçã«ã¯ãããŒãä»ãã®
LinkAnnotations
ãæ§ç¯ããããŒãä»ãã®ãªã³ã¯ã§ HTML ãè§£æããããã®ã¡ãœãããTextDefaults
ããåé€ããŸããã代ããã«ããªã³ã¯ã®ã¹ã¿ã€ã«èšå®ãå¯èœã«ããTextLinkStyles
ã¯ã©ã¹ã Text ã³ã³ããŒã¶ãã«ã®ãã©ã¡ãŒã¿ãšããŠè¿œå ããŸãããïŒI31b93ïŒ
ãã°ã®ä¿®æ£
- ã€ãã³ãäžã«ãã€ã³ã¿å ¥å修食åãåçã«è¿œå ããéã®è¿œå ã®ãŠãŒã¹ã±ãŒã¹ãä¿®æ£ 63e1504
ããŒãžã§ã³ 1.7.0-alpha08
2024 幎 5 æ 1 æ¥
androidx.compose.ui:ui-*:1.7.0-alpha08
ããªãªãŒã¹ãããŸãããããŒãžã§ã³ 1.7.0-alpha08 ã«ã¯ãããã® commit ãå«ãŸããŠããŸãã
API ã®å€æŽ
- 倿Žå¯èœãªã·ã§ã€ãå®è£
ã®ãµããŒãã远å ããŸãã
Shape#createOutline
ãã°ã©ãã£ã㯠ã¬ã€ã€å ã§ç£èŠãããããã«ãªã£ããããå éšã§ç¶æ å€ãèªã¿åããšãç¶æ ãå€åãããšãã«ç¡å¹åãçºçããããããã©ãŒãã³ã¹ã®é«ãã·ã§ã€ã ã¢ãã¡ãŒã·ã§ã³ãå¯èœã«ãªããŸããïŒId1629ãb/326070216ïŒ isPositionedByParentWithDirectManipulation
ã®ååãintroducesFrameOfReference
ã«å€æŽããŸãããã®å¹æã¯éã«ãªã£ãŠããŸããã€ãŸããããã©ã«ãã§ã¯ã»ãšãã©ã®LayoutCoordinates
ãåºæºæ ãå°å ¥ããããããã£ã false ã«ãªãã®ã¯çŽæ¥æäœã®äžã«é 眮ãããå Žåã®ã¿ã§ããåºæºãã¬ãŒã ãå°å ¥ããäœçœ®ã®ã¿ãã¯ãšãªããã«ã¯ãpositionInLocalFrameOfReference(...)
ã䜿çšããŸãããŸãã¯LookaheadScope
ããpositionInLocalLookaheadFrameOfReference
ãæžç®ããŸããïŒIfc5f7ïŒLookaheadScope
API ãå®å®çã«ãªããŸããïŒI21507ïŒ- API è©è°äŒã®ãã£ãŒãããã¯ã«åŸã£ãŠã
getScrollViewportLength
ã®ã¢ã¯ã·ã§ã³ ã©ã ãã倿ŽããŸããïŒIbc74aïŒ GraphicsLayer
ã¢ãŠãã©ã€ã³ API ãæŽæ°ããint ã§ã¯ãªã float ãã©ã¡ãŒã¿ã䜿çšããããã«ããŸãããfloat ããŒã¹ã® Offset ãš Size ã€ã³ã©ã€ã³ ã¯ã©ã¹ã«ãã§ã«ååšãã Unspecified 宿°ã䜿çšãããããUnsetOffset/UnsetSize IntSize
æšèå€ãåé€ããŸããïŒI2fb03ãb/333863462ïŒ- ãã¹ãäžã«ããŠã¹å
¥åãæ¿å
¥ããéã
MouseInjectionScope.click()
ãMouseInjectionScope.doubleClick()
ãMouseInjectionScope.tripleClick()
ãMouseInjectionScope.longClick()
ãbutton: MouseButton
ãã©ã¡ãŒã¿ãåãå ¥ããããã«ãªããããæ®éçã«é©çšã§ããããã«ãªããŸããããã¹ãŠã®ã¡ãœããã®ããã©ã«ãå€ã¯MouseButton.Primary
ã§ããïŒI31a23ãb/190493367ãb/261439695ïŒ LinkInteractionListener
å ã®onClicked
ã®ååãonClick
ã«å€æŽããŸãããïŒIaa35cïŒTextInclusionStrategy.isInside
ãisIncluded
ã«å€æŽããŸãããParagraph/MultiParagraph#getRangeForRect()
ã®æ»ãå€ã®åã null å€é蚱容ã«ããŸããïŒI51f26ïŒ
ãã°ã®ä¿®æ£
reverseScrolling=true
ãå«ãã¹ã¯ããŒã« ã³ã³ããã®é·ãã¹ã¯ãªãŒã³ã·ã§ããã®ãã£ããã£ãä¿®æ£ããŸãããïŒI7c59cïŒ
å€éšããã®åå
- ãã¹ãããã
LazyLists
ïŒãã¹ããããLazyRows
ãã¬ã³ããªã³ã°ããLazyColumn
ãªã©ïŒã®ã¢ã€ãã ã®ããªãã§ããã®ãµããŒãã远å ããŸããããã®å€æŽã«ããããããã®LazyLists
ã®ã¹ã¯ããŒã«äžã®ãã¬ãŒã èœã¡ãæžå°ããããšãæåŸ ãããŸããå®è£ ã®ããã©ã«ãã§ã¯ãæåã® 2 ã€ã®ãã¹ããããã¢ã€ãã ãããªãã§ãããããŸããããã®åäœã¯æ°ããLazyLayoutPrefetchStrategy(nestedPrefetchItemCount)
API ãšLazyListPrefetchStrategy#onNestedPrefetch
API ã§å¶åŸ¡ã§ããŸããïŒI51952ïŒ
ããŒãžã§ã³ 1.7.0-alpha07
2024 幎 4 æ 17 æ¥
androidx.compose.ui:ui-*:1.7.0-alpha07
ããªãªãŒã¹ãããŸãããããŒãžã§ã³ 1.7.0-alpha07 ã«ã¯ããããã® commit ãå«ãŸããŠããŸãã
API ã®å€æŽ
ClickableText
ã¯éæšå¥šãšããŒã¯ãããŠããŸããããã¹ãã«ãªã³ã¯ã远å ããã«ã¯ããªã³ã¯ã«å¯Ÿå¿ããLinkAnnotation
ãå«ãAnnotatedString
ãäœæãããã®AnnotatedString
ã Text ã³ã³ããŒã¶ãã«ã«æž¡ããŸããïŒI34d4bãb/323346994ïŒ- ææžãå
¥åãžã§ã¹ãã£ãŒçšã«
ViewConfiguration.HandwritingGestureLineMargin
ãå°å ¥ããŸããBasicTextField
ã®JoinOrSplit
ãžã§ã¹ãã£ãŒããµããŒãïŒIe6e13ãb/325660505ïŒ FocusProperties.enter
ãšFocusProperties.exit
ã¯è©Šéšéçšçã§ã¯ãªããªããŸãããFocusDirection.Enter
ãšFocusDirection.Exit
ã¯è©Šéšéçšçã§ã¯ãªããªããŸãããFocusRequester.Cancel
ã詊éšéçšçã§ã¯ãªããªããŸããïŒI461a1ãb/261564106ïŒ- ã¬ã€ã¢ãŠãã®åº§æšãã¯ãšãªããéã«ã
excludeDirectManipulationOffset
åŒæ°ã䜿çšããŠãPlaceable.PlacementScope.withDirectManipulationPlacement
ã䜿çšããŠåãé 眮ãã芪ã¬ã€ã¢ãŠãã«ãã£ãŠèšå®ããããªãã»ãããé€å€ã§ããããã«ãªããŸãããåæ§ã«ãåèŠçŽ ã®äœçœ®ãé »ç¹ã«å€æŽããã¬ã€ã¢ãŠãã§ã¯ãwithDirectManipulationPlacement
ïŒããã©ã«ãã§å®è£ ãããŠãã Scroll ãªã©ïŒã䜿çšããŠåèŠçŽ ãé 眮ã§ããããã«ãªããŸãããããã«ãããapproachLayout
ããŒã¹ã®ã¢ãã¡ãŒã·ã§ã³ãããçŽæçã«ãªããã¢ãããŒããã¢ãã¡ãŒã·ã§ã³åããéã«ãã¢ãã¡ãŒã·ã§ã³åãããªãã»ãããšçŽæ¥é©çšãããªãã»ãããåºå¥ã§ããããã«ãªããŸãããïŒI60ec7ïŒ - é·ãã¹ã¯ãªãŒã³ã·ã§ããã®ãã£ãŒãã£ãŒ ãã°ã«ãåé€ãããŸãããïŒI28648ãb/329128246ïŒ
LazyColumn
ã§ãé·ãã¹ã¯ãªãŒã³ã·ã§ããã®åºå®ããããŒãæ£ããã¬ã³ããªã³ã°ãããããã«ãªããŸãããïŒI8d239ãb/329296635ïŒNestedScroll
ãœãŒã¹ã®ãã©ãã°ãšããªã³ã°ã¯ãUserInput
ãšSideEffect
ã«çœ®ãæããããŸããããã¯ãã¢ãã¡ãŒã·ã§ã³ïŒå¯äœçšïŒãšããŠã¹ãã€ãŒã«ãšããŒããŒãïŒUserInput
ïŒãå«ãããã«æ¡åŒµããããããã®ãœãŒã¹ã®å®çŸ©ã«å¯Ÿå¿ããããã§ããïŒI40579ïŒApproachLayoutModifierNode
ãšModifier.approachLayout
ãå®å®çã«ãªããå€ãisMeasurementApproachComplete()
ãšisPlacementApproachComplete()
ããããã眮ãæããæ°ããisMeasurementApproachInProgress()
ãšisPlacementApproachInProgress()
ã远å ãããŸããã- ãµããŒããçµäºãã
intermediateLayout
修食åãåé€ããŸãããïŒI3e91cïŒ GraphicsLayer#buildLayer
ã record ã«åå倿ŽããŠãRenderNode
ã Picture ãªã©ã® Displaylist ããã¯ãšã³ã API ã® begin/endRecording ã¡ãœãããåæ ãããŸããrememberObserver
ãæŽ»çšããããã«rememberGraphicsLayer
ãæŽæ°ããŸãããïŒI312c1ãb/288494724ãb/330758155ïŒUrlAnnotation
ã¯éæšå¥šã§ãã代ããã«LinkAnnotation.Url
ã䜿çšããŠãã ããããããªã¢ã« ããŒãã䜿çšããŠããå Žåã¯ãTextDefaults
ãªããžã§ã¯ãã䜿çšããŠããããªã¢ã« ããŒããé©çšãããã¢ãããŒã·ã§ã³ãäœæããŸãïŒI8d180ãb/323346545ïŒ- ããã¹ã ãªã³ã¯ã«ãéåžžã®ã¹ã¿ã€ã«èšå®ããããŒããã©ãŒã«ã¹ã«å ããŠãæŒäžç¶æ ã®ã¹ã¿ã€ã«èšå®ãªãã·ã§ã³ã远å ãããŸãããïŒI5f864ãb/139312671ïŒ
String.parseAsHtml
ã®ååãAnnotatedString.Companion.fromHtml
ã«å€æŽããŸãããïŒI43dcdïŒparseAsHtml
ã¡ãœããã«ã¹ã¿ã€ã«èšå®åŒæ°ïŒlinkStyle
ãfocusedLinkStyle
ãhoveredLinkStyle
ïŒãšãªã³ã¯æäœãªã¹ããŒã远å ããŸããã<a>
ã¿ã°ãå«ã HTML ã¿ã°ä»ãæååãè§£æãããšãããã®ã¡ãœããã¯åã¿ã°ã«å¯ŸããŠLinkAnnotation.Url
ãæ§ç¯ããã¹ã¿ã€ã«èšå®ãªããžã§ã¯ããšãªã³ã¯æäœãªã¹ããŒãåã¢ãããŒã·ã§ã³ã«æž¡ããŸããïŒI7c977ïŒLinkAnnotation
ããç¶æ ããŒã¹ã®ã¹ã¿ã€ãªã³ã°åŒæ°ãšLinkInteractionListener
ãåãããã«ãªããŸããããã®ã¢ãããŒã·ã§ã³ãAnnotatedString
ã«è¿œå ããŠããã€ããŒãªã³ã¯ãååŸããŸããfocusedState
ãhoveredState
ãæž¡ãããšã§ããªã³ã¯ããã©ãŒã«ã¹ããããšãããããŒããããšãã®ãªã³ã¯ã®ããžã¥ã¢ã«configuration
ãå®çŸ©ã§ããŸããïŒI81ce4ãb/139312671ïŒImeOptions.hintLocales
ã null 蚱容ã§ã¯ãªããªããŸããã空㮠Locale ãªã¹ããæž¡ãå Žåã¯ãLocaleList.Empty
ã䜿çšããŠãã ãããïŒIc5bc4ïŒ
ãã°ã®ä¿®æ£
- äžæ£ãª/ç Žæããéå»ã®å ¥åã€ãã³ãããŒã¿ãé©åã«åŠçããŸãïŒäžæ£ãªãªãã»ããããŒã¿ãç¡èŠããŸãïŒã
- ã¢ã¯ãã£ããªãã€ã³ã¿å ¥åã€ãã³ã ã¹ããªãŒã ïŒããšãã°ããããŒéå§ãšãããŒçµäºã®é [ããŠã¹/ã¹ã¿ã€ã©ã¹]ïŒã§ãå¥ã®ãã€ã³ã¿å ¥å修食åã®åã«ãã€ã³ã¿å ¥å修食åãåçã«è¿œå ãããå Žåã«çºçããäºæããªããã€ã³ã¿ ã€ãã³ããä¿®æ£ããŸããã
ããŒãžã§ã³ 1.7.0-alpha06
2024 幎 4 æ 3 æ¥
androidx.compose.ui:ui-*:1.7.0-alpha06
ããªãªãŒã¹ãããŸãããããŒãžã§ã³ 1.7.0-alpha06 ã«ã¯ãããã® commit ãå«ãŸããŠããŸãã
æ°æ©èœ
- ã¹ã¿ã€ã«ä»ãæååçšã®
parseAsHtml
ã¡ãœããã远å ããŸãããããã«ãããHTML ã¿ã°ã§ããŒã¯ãããæååãAnnotatedString
ã«å€æã§ããŸãããã¹ãŠã®ã¿ã°ããµããŒããããŠããããã§ã¯ãããŸãããããšãã°ãçŸæç¹ã§ã¯ç®æ¡æžããªã¹ãã衚瀺ããããšã¯ã§ããŸãããïŒI84d3dãI30626ãb/139326648ïŒ - å
¬åŒã® Android APIïŒ
ScrollCaptureCallback
ïŒã䜿çšããŠãCompose ã¹ã¯ããŒã« ã³ã³ããã§ã®é·ãã¹ã¯ãªãŒã³ã·ã§ããã®è©ŠéšéçšãµããŒããå®è£ ããŸããããã®æ©èœã¯è©Šéšéçšçã§ãããçŸæç¹ã§ã¯ãã¹ãŠã®ã±ãŒã¹ãæ£ããåŠçã§ããªãå¯èœæ§ããããŸãããã®ãããçŸåšããã©ã«ãã§ã¯ç¡å¹ã«ãªã£ãŠããŸãããªããã€ã³ããã«ã¯ãComposeFeatureFlag_LongScreenshotsEnabled
ãã©ã°ã true ã«èšå®ããŸããïŒI2b055ãb/329296471ïŒ
API ã®å€æŽ
fun ClipEntry.getMetadata()
ãval ClipEntry.clipMetadata
ã«å€æŽãããŸãããïŒI50155ïŒClipboardManager.getClipMetadata
颿°ãšClipboardManager.hasClip
颿°ãåé€ããŸãããçŸåšã®ã¯ãªãã ãšã³ããªã®ã¡ã¿ããŒã¿ãèªã¿åãã«ã¯ãclipEntry.getMetadata()
ã䜿çšããŠãã ããããŸããClipboardManager.getClip
ã®çµæã null ãã©ããã確èªããŠãã¯ãªããããŒãã«çŸåšã®ã¯ãªããããããã©ãããææ¡ããŸããïŒI50498ïŒGraphicsLayer
ãªããžã§ã¯ããplaceable.placeWithLayer()
颿°ã«æž¡ããããã«ãªããŸããïŒI1b22fïŒ- ã¯ãªããããŒããã¯ãªã¢ã§ããããã«ã
ClipboardManager.setClip
ã null ãåãå ¥ããããã«ãªããŸãããïŒI7d2e9ïŒ - ãã«ã ããŒã«å ã®å®è£ ã®è©³çްãšããŠäœ¿çšããã View ãé衚瀺ã«ããããã®ãªãœãŒã¹ ID ã远å ããŸããïŒI99531ïŒ
- ããããããã®ã³ã³ãã³ãã
GraphicsLayer
ã«ã¬ã³ããªã³ã°ãããµããŒããšããŠãGraphicsLayer#toImageBitmap
ã®äžæåæ¢ã¡ãœããã远å ããŸãããããã¯ãAPI ã¬ãã« 22 以äžïŒå«ãïŒã®ããŒããŠã§ã¢ ã¢ã¯ã»ã©ã¬ãŒã·ã§ã³ ã¬ã³ããªã³ã° ãªãã¬ãŒã·ã§ã³ã§ãããAndroid ããã€ã¹ã® 99% 以äžã§ãµããŒããããŠããŸããAndroid API ã¬ãã« 21 ã§ã¯ããœãããŠã§ã¢ ã¬ã³ããªã³ã°ã«ãã©ãŒã«ããã¯ããŸããïŒI9e114ïŒ - Android ã®
RectF
ãComposeRect
ã«å€æãããã«ã㌠ã¡ãœããïŒI39925ãb/325660505ïŒ - ãã¹ãŠã®
KeyboardOptions
ãã©ã¡ãŒã¿ã®ããã©ã«ãå€ãæªæå®ã«ãªããŸãããKeyboardOptions.merge
ã¡ãœããã远å ããŸããã KeyboardOptions.autoCorrect
ã®ååãautoCorrectEnabled
ã«å€æŽããnull å¯èœã«ããŸãããnull ã¯å€ãæå®ãããŠããªãããšã瀺ããŸããïŒIa8ba0ãb/295951492ïŒBasicTextField(state)
ããªã¢ã³ããšBasicSecureTextField
ã¯ããœãããŠã§ã¢ ããŒããŒãã§è¡ãããã¢ã¯ã·ã§ã³ãåŠçããããã«ãKeyboardActions
ã§ã¯ãªãKeyboardActionHandler
ã䜿çšããããã«ãªããŸãããïŒI58ddaïŒ
ããŒãžã§ã³ 1.7.0-alpha05
2024 幎 3 æ 20 æ¥
androidx.compose.ui:ui-*:1.7.0-alpha05
ããªãªãŒã¹ãããŸãããããŒãžã§ã³ 1.7.0-alpha05 ã«ã¯ããããã® commit ãå«ãŸããŠããŸãã
æ°æ©èœ
- 衚瀺ãªã¹ãã®æç»ã³ãã³ããšã衚瀺ãªã¹ãã®ã¬ã³ããªã³ã°ã«åœ±é¿ãã远å ã®ããããã£ãèšé²ããæ°ãã
GraphicsLayer
API ãå°å ¥ããŸããããã«ãããè€éãªã·ãŒã³ããã·ãŒã³å šäœãåäœæããããšãªãåå¥ã«æŽæ°ã§ããå°ããªéšåã«åå²ããããã®åé¢å¢çãæäŸãããŸããGraphicsLayer
ã«å ãããã倿ã¯ããã£ã¹ãã¬ã€ ãªã¹ããåèšé²ããããšãªãå®è¡ã§ããŸããModifier.graphicsLayer
ãšã¯ç°ãªããGraphicsLayer
ã§ã¯ã³ã³ããŒã¶ãã« ã³ã³ãã³ããå¥ã®å Žæã§ã¬ã³ããªã³ã°ã§ããŸããããã¯ãã³ã³ãã³ããç°ãªãã·ãŒã³ã§ã¬ã³ããªã³ã°ãããããšãæ³å®ãããã¢ãã¡ãŒã·ã§ã³ã®ãŠãŒã¹ã±ãŒã¹ã§åœ¹ç«ã¡ãŸãã
API ã®å€æŽ
GraphicsLayer.draw(Canvas)
ãå ¬é API ããé€å€ãããŸããã代ããã«ãDrawScope.drawLayer(GraphicsLayer)
æ¡åŒµé¢æ°ã䜿çšããŠã¬ã€ã€ãæç»ããŠãã ãããïŒI7a7c0ïŒrestrictedConstraints()
ã 2 ã€ã®ã¡ãœããïŒfitPrioritizingWidth()
ãšfitPrioritizingHeight()
ïŒã«åå²ããŸããïŒI6d7fdïŒ- Android L ã§äœ¿çšãã
HardwareCanvas
ã¹ã¿ããå°å ¥ããŸããïŒI1c3b5ãb/288494724ïŒ - Compose ãã¬ãŒã ã¯ãŒã¯ãæŽæ°ããŠ
GraphicsContext
æ§æããŒã«ã«ãå ¬éãããšãšãã«ãOwnerãDelegateableNode
ãdrawWithCache
修食åå®è£ ãæŽæ°ããŠãã¹ã³ãŒãä»ãã¢ã¯ã»ã¹çšã®GraphicsContext
ãžã®ã¢ã¯ã»ã¹ãå ¬éããŸããããã«ããã修食åãç Žæ£ããããšGraphicsLayer
ã€ã³ã¹ã¿ã³ã¹ãèªåçã«ã¯ãªãŒã³ã¢ãããããŸããïŒI64a2fãb/288494724ïŒ - äœã¬ãã«ã® IME é¢é£ãã¹ãããã®ä»ã®äœã¬ãã«ã® IME ãŠãŒã¹ã±ãŒã¹ã®äœæãæ¯æŽãã
InterceptPlatformTextInput
ãå°å ¥ããŸãããPlatformTextInputTestOverride
ã¯éæšå¥šã«ãªããŸãããïŒI862edãb/322680547ïŒ GraphicsLayer.setOutline(Outline)
æ¡åŒµé¢æ°ã远å ãããŸãããïŒIb81f4ïŒGraphicsLayer
ã€ã³ã¹ã¿ã³ã¹ãäœæãããã¡ã¯ããªãäœæããããã®GraphicsContext
颿°ã³ã³ã¹ãã©ã¯ã¿ãå°å ¥ããŸããïŒIb98d6ãb/288494724ïŒGraphicsLayer
API ãå ¬éããããããããŒãå®çŸ©ããæè»æ§ãæäŸããŠãå¥ã®å Žæã§æç»ã«äœ¿çšã§ããæç»ã³ãã³ãããã£ããã£ããæçµçµæã«ããŸããŸãªèŠèŠå¹æãé©çšã§ããããã«ããŸãããïŒI80245ãb/288494724ïŒ- æå®ãããé·æ¹åœ¢ã®é åã§ã«ããŒãããŠããããã¹ãã®ç¯å²ãè¿ã
Paragraph#getRangeForRect
ãå°å ¥ããŸããïŒIee516ãb/325660505ïŒ onLinkClicked
åŒæ°ã䜿çšããBasicText
ã®è©ŠéšéçšçãªãŒããŒã©ã€ããåé€ããŸããããã€ããŒãªã³ã¯ã®ãµããŒãã«å¯Ÿå¿ããä»£æ¿ API ã¯ãä»åŸæäŸãããäºå®ã§ããïŒI107d5ïŒ
ãã°ã®ä¿®æ£
- æç»ã³ãã³ãã®ãã£ããã£ãšåçããµããŒããã
GraphicsLayer
expect/actual API å®çŸ©ã远å ããŸããããªãã·ã§ã³ã®åæèŠèŠå¹æãšå€æããµããŒãããŸããGraphicsLayer
ã€ã³ã¹ã¿ã³ã¹ã®äœæãšç®¡çãå«ãã°ã©ãã£ãã¯äŸåé¢ä¿ãæ ŒçŽããGraphicsContext
ã€ã³ã¿ãŒãã§ãŒã¹ãå°å ¥ããŸããïŒI4a8d6ãb/288494724ïŒ - ä»ã®ãã¥ãŒã«åã蟌ãŸãã
ComposeView
ã®å éšã§ãã©ãŒã«ã¹ãåããªããªã 1D ãã©ãŒã«ã¹æ€çŽ¢ã®çžäºéçšæ§ã®åé¡ãä¿®æ£ããŸãããïŒI08fd4ïŒ
å€éšããã®åå
- Compose ããŒã¹ã®ãã«ã㌠API ã Compose UI ã®å€éšã§äœ¿çšã§ããããã«ã
LocalLifecycleOwner
ã Compose UI ããlifecycle-runtime-compose
ã«ç§»åããŸãããJake Wharton æ°ã®ãååã«æè¬ããããŸããïŒI6c41bãb/328263448ïŒ - ãã¹ãŠã®ãã€ã¢ã¹ããŒã¹ã®é 眮ãµãã¿ã€ãã§ãã€ã¢ã¹æµ®åå°æ°ç¹ããããã£ãäžè²«ããŠå ¬éããŸããïŒI69f0fãb/328088992ïŒ
ããŒãžã§ã³ 1.7.0-alpha04
2024 幎 3 æ 6 æ¥
androidx.compose.ui:ui-*:1.7.0-alpha04
ããªãªãŒã¹ãããŸãããããŒãžã§ã³ 1.7.0-alpha04 ã«ã¯ããããã® commit ãå«ãŸããŠããŸãã
API ã®å€æŽ
- Android U 以éã®ããã€ã¹ã§ BasicTextField2 ã®ã¹ã¿ã€ã©ã¹ææžãå ¥åæ©èœããµããŒããïŒI002e4ïŒ
- ãã® CL ã§ã¯ãã³ã³ããŒãºã§ã¹ã¯ããŒã«ãããŠããã³ã³ããŒãã³ãã«é¢ããæ
å ±ã a11y ã·ã¹ãã ã«ãã€ãã§ããããã«ã
GetScrollViewportLength
ã»ãã³ãã£ã㯠ã¢ã¯ã·ã§ã³ã远å ããŠããŸãããã® CL ã¯ãFoundation Scrollable Lists ã§ã®åœè©²ããããã£ã®äœ¿çšã«ãé©çšãããŸããïŒIc5fa2ïŒ FocusRequester.createRefs
ãå®å®çã«ãªããŸãããïŒI4d92cãb/261436820ïŒ- ã³ã³ããžã·ã§ã³ ããŒã«ã«ãèªã¿åããã«ä¿®é£ŸåããŒããçŸåšã® Android
View
ãååŸã§ããããã«ãDelegatableNode.requireView()
ãå°å ¥ããŸãããïŒI40768ïŒ - ãã¹ã®æ¹åãå転ãããæ°ãã API
Path.reverse()
ïŒI36348ïŒ KeyboardOptions
ã«hintLocales
ã远å ããTextFields
ã«ç¹å®ã®ãã±ãŒã«ã§ IME ããã³ãããŠåªå èšèªãããªã»ããããæ©èœãæäŸããŸããã- åºç€ãšãªããã©ãããã©ãŒã ãªããžã§ã¯ãïŒ
java.util.Locale
ãªã©ïŒãè¿ãLocale
ããplatformLocale
ããããã£ãå ¬éããŸããïŒI921c6ïŒ
ããŒãžã§ã³ 1.7.0-alpha03
2024 幎 2 æ 21 æ¥
androidx.compose.ui:ui-*:1.7.0-alpha03
ããªãªãŒã¹ãããŸãããããŒãžã§ã³ 1.7.0-alpha03 ã«å«ãŸãã commit ã«ã€ããŠã¯ããã¡ããã芧ãã ããã
API ã®å€æŽ
- MaxLines ãš Overflow ã䜿çšãã
ContextualFlowRow
ãšæ¡åŒµFlowRow
/Column
ãå°å ¥ã詊éšéçšçã®FlowRow
ãšFlowColumn
ã匷åãããmaxLines ãš overflow ã®ãµããŒãã远å ãããŸããããŸããContextualFlowRow
ãšContextualFlowColumn
ãæ°ãã«å°å ¥ãããŸããããã®ã¢ããããŒãã¯ãããã©ãŒãã³ã¹ã«æé©ãªã³ã³ããŒãã³ããæäŸããããšãç®çãšããŠããŸããContextualFlow*
ã¯ãå°ããªmaxLines
æ§æãšåç㪠+N ã® [ãã£ãšèŠã] ãã¿ã³ã䜿çšãã倿°ã®ã¢ã€ãã ã«æé©ã§ããFlowRow
ãšFlowColumn
ã¯ã100 åæªæºã®å°æ°ã®ã¢ã€ãã ã«æé©ã§ããéèŠ:FlowRow
ãŸãã¯FlowColumn
ã§ãã¯ãã¹è»žã®æå€§å€ã«åãŸããã©ããã«ããããããã¹ãŠã®ã¢ã€ãã ãæ§æãããæ¢åã®åäœãç¶æããã«ã¯ãåæåæã«overflow
ãFlowRowOverflow.Visible
ãŸãã¯FlowColumnOverflow.Visible
ã«èšå®ããŸãããããã®æ°æ©èœã®åäœäŸã«ã€ããŠã¯ãContextualFlowRowSample
ãšFlowRowSample
ãã芧ãã ãããïŒIb9135ãb/293577082ïŒ - èš±å¯ãããæå€§æåæ°ããã£ã«ã¿ããããã¹ã ãã£ãŒã«ãã«èšå®ãããã¹ã
maxTextLength
ã»ãã³ãã£ã¯ã¹ ããããã£ã远å ïŒI24d9fãb/170648072ïŒ Modifier.inspectable
ã©ãããŒã¯éæšå¥šã«ãªããŸããããã® API ã¯ãå¿ èŠä»¥äžã«ä¿®é£Ÿåã®ç¡å¹åãäœæããããã䜿çšã¯æšå¥šãããªããªããŸãããããŒã«ã«ä¿®é£Ÿåã®ããããã£ãå ¬éãããå Žåã¯ãModifierNodeElement
ã§inspectableProperties()
ã¡ãœãããå®è£ ããããšãããããããŸããïŒIb3236ïŒWindowManager.LayoutParams
ãã©ã°ãå®å šã«å¶åŸ¡ã§ããPopupProperties
ã®æ°ããã³ã³ã¹ãã©ã¯ã¿ãïŒIbb33eãb/312485503ïŒonPlaced
ããªãŒããŒã©ã€ãããŠåº§æšãããããã£ã«èªåã§ä¿åããå¿ èŠãªããModifier.Node
ã®çŸåšã®LayoutCoordinates
ãååŸããæ¹æ³ãšããŠDelegatableNode.requireLayoutCoordinates()
ãå°å ¥ããŸãããïŒIa8657ïŒonPlaced
ããªãŒããŒã©ã€ãããŠåº§æšãããããã£ã«èªåã§ä¿åããå¿ èŠãªããModifier.Node
ã®çŸåšã®LayoutCoordinates
ãååŸããæ¹æ³ãšããŠDelegatableNode.currentLayoutCoordinates
ãå°å ¥ããŸãããïŒIaebaaïŒandroidx.compose.foundation.text2
ããã±ãŒãžã®BasicTextField2
ãšé¢é£ API ãandroidx.compose.foundation.text
ã«ç§»åããŸãããïŒI9f635ïŒ- æç€ºç㪠Modifier Node ã§ã«ã¹ã¿ã ã¢ãããŒã ããžãã¯ãäœæããããã®æ°ãã
ApproachLayoutModifierNode
API ã远å ããŸããããŸããã€ã³ã¹ã¿ã³ã¹åæã«ã¿ãŒã²ãããäžæãªã¢ãã¡ãŒã·ã§ã³çšã®æ°ãã詊éšéçšçDeferredTargetAnimation
API ã远å ããŸãããïŒI60745ïŒ - ãã¹ã®æ¹åãã¯ãšãªãã
Path
ããçé«ç·ãæœåºããæ°ããPath
APIãïŒI63d04ïŒ Path
ã«ç¹å®ã®ãã€ã³ããå«ãŸããŠãããã©ããã確èªããPathHitTest
ãšPath.contains(Offset)
ã远å ããŸãããïŒI3b218ïŒTextLayoutResult
ãgetLineBaseline(lineIndex)
ã¡ãœãããå ¬éããããã«ãªããŸãããããã«ãããæ¢åã®äŸ¿å©ãªããããã£firstBaseline
ãšlastBaseline
ã«å ããŠãããã¹ãã®ä»»æã®è¡ã®ããŒã¹ã©ã€ã³ãèªã¿åãããšãã§ããŸããïŒIde4e8ãb/237428541ïŒ- 2 ã€ã®
AnnotatedStrings
ã®ã¢ãããŒã·ã§ã³ã®ã¿ãæ¯èŒããã¡ãœããã远å ããŸãããïŒI32659ïŒ
ãã°ã®ä¿®æ£
SemanticsPropertyReceiver.performImeAction
ãšSemanticsActions.PerformImeAction
ã®äžäœäºææ§ã«é¢ããåé¡ãä¿®æ£ããŸãããïŒId0528ãb/322269946ïŒ
ããŒãžã§ã³ 1.7.0-alpha02
2024 幎 2 æ 7 æ¥
androidx.compose.ui:ui-*:1.7.0-alpha02
ããªãªãŒã¹ãããŸãããããŒãžã§ã³ 1.7.0-alpha02 ã«å«ãŸãã commit ã«ã€ããŠã¯ããã¡ããã芧ãã ããã
API ã®å€æŽ
SemanticsPropertyReceiver.performImeAction
ã®ãã€ããªäºææ§ã«é¢ããåé¡ãä¿®æ£ããŸãããïŒI65865ãb/322269946ïŒusePlatformDefaultWidth
ãã©ã¡ãŒã¿ãåãåãPopupProperties
ã³ã³ã¹ãã©ã¯ã¿ã¯è©Šéšéçšçã§ã¯ãªããªããŸãããïŒI8f8d2ïŒ- ã¿ã€ã ã¢ãŠã ã¡ãã»ãŒãžã«å«ããæ¡ä»¶ã®æååã®èª¬æãåãåã
ComposeTestRule.waitUntil
ã®ãªãŒããŒããŒãã远å ããŸãããïŒI9413eïŒ - åã修食åãã§ãŒã³ã§è¿œå ãããã»ãã³ãã£ã¯ã¹ ããããã£ãåé€ããæ°ããã»ãã³ãã£ã¯ã¹ API
unset()
ãæ°ããã»ãã³ãã£ã¯ã¹ ããããã£isOpaque
ãïŒI8c583ãb/317966058ãb/246056649ïŒ PointerInputChange
ã®å ¬é API ã®ã³ã㌠ã¡ãœããããoriginalEventPosition
ãåé€ããŸãããïŒI7beadïŒ
ãã°ã®ä¿®æ£
- ã¿ããã©ãžãªãã¿ã³ä»¥å€ã®èŠçŽ ãéžææã«ã¯ãªãã¯å¯èœã«ãªãã¢ã¯ã»ã·ããªãã£ã®ãã°ãä¿®æ£ããŸãããïŒI2181cïŒ
VelocityTracker
ã§ããã€ã³ãã®è¿œå ã«é¢ããä¿®æ£ãããã©ã«ãã§æå¹ã«ãªããŸããåé¡ãçºçããå Žåã¯ãVelocityTrackerAddPointsFix
ã false ã«èšå®ããããšã§ãä¿®æ£ãç¡å¹ã«ã§ããŸããïŒIb3877ãb/269487059ïŒTextStyle
ãšParagraphStyle
ã®ãã€ããªã®äžäœäºææ§ã®åé¡ãä¿®æ£ããŸãããïŒI179f0ãb/320819734ïŒ
å€éšããã®åå
- ãã©ãããã©ãŒã åºæã®ãã©ã¡ãŒã¿ã®ãªãæ°ãã
DialogProperties
ã³ã³ã¹ãã©ã¯ã¿ã远å ããŸãããïŒI45829ïŒ - ãã©ãããã©ãŒã åºæã®ãã©ã¡ãŒã¿ã®ãªãæ°ãã
PopupProperties
ã³ã³ã¹ãã©ã¯ã¿ã远å ããŸãããïŒI9a038ïŒ
ããŒãžã§ã³ 1.7.0-alpha01
2024 幎 1 æ 24 æ¥
androidx.compose.ui:ui-*:1.7.0-alpha01
ããªãªãŒã¹ãããŸãããããŒãžã§ã³ 1.7.0-alpha01 ã«å«ãŸãã commit ã«ã€ããŠã¯ããã¡ããã芧ãã ããã
API ã®å€æŽ
ClipEntry
ãšClipMetadata
ã远å ããŠClipboardManager
ãæ¡åŒµããç»åãªã©ã®ä»»æã®ã³ã³ãã³ãããµããŒãããŸãããui-test
ã«DeviceConfigurationOverride
API ã远å ãããã¹ã察象ã®ã³ã³ãã³ãã®åäœãããŒã«ã«ã§ãªãŒããŒã©ã€ãã§ããããã«ããŸãããããšãã°ãå©çšå¯èœãªãµã€ãºãèšèª / å°åãã¬ã€ã¢ãŠãã®æ¹åããã©ã³ãã¹ã±ãŒã«ãããŒããæå®ã§ããŸãã
ããŒãžã§ã³ 1.6
ããŒãžã§ã³ 1.6.8
2024 幎 6 æ 12 æ¥
androidx.compose.ui:ui-*:1.6.8
ããªãªãŒã¹ãããŸãããããŒãžã§ã³ 1.6.8 ã«ã¯ãããã® commit ãå«ãŸããŠããŸãã
ãã°ã®ä¿®æ£
- ãã©ã³ã ã¹ã±ãŒã«ãå®çŸ©ãããŠããæå°ã®ããŒãã«ãããå°ããå Žåã«ããã©ã³ã ã¹ã±ãŒãªã³ã°ã«äžè²«æ§ããªãåé¡ãä¿®æ£ããŸããããã®å Žåãç·åœ¢ 1 åã®ã¹ã±ãŒã«ãšå®çŸ©ãããæå°ã®ããŒãã«ã®éã§è£éãè¡ããããããã¹ã±ãŒã«ãå¢å ããã«ã€ããŠãã©ã³ããµã€ãºãå調ã«å¢å ããŸããïŒIcbae3ïŒ
ããŒãžã§ã³ 1.6.7
2024 幎 5 æ 1 æ¥
androidx.compose.ui:ui-*:1.6.7
ããªãªãŒã¹ãããŸãããããŒãžã§ã³ 1.6.7 ã«ã¯ãããã® commit ãå«ãŸããŠããŸãã
ããŒãžã§ã³ 1.6.6
2024 幎 4 æ 17 æ¥
androidx.compose.ui:ui-*:1.6.6
ããªãªãŒã¹ãããŸãããããŒãžã§ã³ 1.6.6 ã«ã¯ãããã® commit ãå«ãŸããŠããŸãã
ãã°ã®ä¿®æ£
- ãŸãã«çºçãã
BasicTextField
ã®ã¯ã©ãã·ã¥ãä¿®æ£ããŸããã
ããŒãžã§ã³ 1.6.5
2024 幎 4 æ 3 æ¥
androidx.compose.ui:ui-*:1.6.5
ããªãªãŒã¹ãããŸãããããŒãžã§ã³ 1.6.5 ã«ã¯ãããã® commit ãå«ãŸããŠããŸãã
ããŒãžã§ã³ 1.6.4
2024 幎 3 æ 20 æ¥
androidx.compose.ui:ui-*:1.6.4
ããªãªãŒã¹ãããŸãããããŒãžã§ã³ 1.6.4 ã«ã¯ãããã®ã³ããããå«ãŸããŠããŸãã
ããŒãžã§ã³ 1.6.3
2024 幎 3 æ 6 æ¥
androidx.compose.ui:ui-*:1.6.3
ããªãªãŒã¹ãããŸãããããŒãžã§ã³ 1.6.3 ã«ã¯ãããã® commit ãå«ãŸããŠããŸãã
ããŒãžã§ã³ 1.6.2
2024 幎 2 æ 21 æ¥
androidx.compose.ui:ui-*:1.6.2
ããªãªãŒã¹ãããŸãããããŒãžã§ã³ 1.6.2 ã«å«ãŸãã commit ã«ã€ããŠã¯ããã¡ããã芧ãã ããã
ããŒãžã§ã³ 1.6.1
2024 幎 2 æ 7 æ¥ãandroidx.compose.ui:ui-*:1.6.1
ããªãªãŒã¹ãããŸãããããŒãžã§ã³ 1.6.1 ã«å«ãŸãã commit ã«ã€ããŠã¯ããã¡ããã芧ãã ããã
ãã°ã®ä¿®æ£
SemanticsPropertyReceiver.performImeAction
ãšSemanticsActions.PerformImeAction
ã®äžäœäºææ§ã«é¢ããåé¡ãä¿®æ£ããŸãããïŒIe0bb2ãb/322269946ïŒ- ã¬ã€ã¢ãŠãã§ãç°åžžã«å€§ããªãµã€ãºãè¿ãããå Žåã«ã枬å®äžã«ãšã©ãŒãçºè¡ãããããã«ãªããŸãããéåžžããã®çš®ã®ãšã©ãŒã¯ã枬å®ã§
Constraints.Infinity
ã確èªããã«æå€§å¶çŽãçŽæ¥äœ¿çšããå Žåã«çºçããŸãããã®ãã§ãã¯ã«ãããã¬ã€ã¢ãŠããå«ãã¬ã€ã¢ãŠãã§ã¯ãªãããµã€ãºãééã£ãŠããã¬ã€ã¢ãŠãã®åé¡ãç¹å®ã§ããŸããïŒI339a9ïŒ
ããŒãžã§ã³ 1.6.0
2024 幎 1 æ 24 æ¥
androidx.compose.ui:ui-*:1.6.0
ããªãªãŒã¹ãããŸãããããŒãžã§ã³ 1.6.0 ã«å«ãŸãã commit ã«ã€ããŠã¯ããã¡ããã芧ãã ããã
ããŒãžã§ã³ 1.6.0-rc01
2024 幎 1 æ 10 æ¥
androidx.compose.ui:ui-*:1.6.0-rc01
ããªãªãŒã¹ãããŸãããããŒãžã§ã³ 1.6.0-rc01 ã«å«ãŸãã commit ã«ã€ããŠã¯ããã¡ããã芧ãã ããã
ãã°ã®ä¿®æ£
- 远å ã®åã³ã³ããŒãºãæå°éã«æããããšã§ããã©ãŒãã³ã¹ãåäžãããããã«ããã¯ãã« ã°ã©ãã£ãã¯ã®å®è£ ãæé©åããŸããã
ããŒãžã§ã³ 1.6.0-beta03
2023 幎 12 æ 13 æ¥
androidx.compose.ui:ui-*:1.6.0-beta03
ããªãªãŒã¹ãããŸãããããŒãžã§ã³ 1.6.0-beta03 ã«å«ãŸãã commit ã«ã€ããŠã¯ããã¡ããã芧ãã ããã
æ°æ©èœ
- ããŒããåãé¢ããã«
LayoutCoordinates
ãåãé¢ãããšãã§ããããã«ãªããŸãããCompose Layout InspectorïŒIf693ïŒã§ãããé²ã
ãã°ã®ä¿®æ£
PlatformImeOptions
ãã€ã³ã¿ãŒãã§ãŒã¹ã§ã¯ãªãå ·è±¡ã¯ã©ã¹ã«ãªããŸãããïŒIf40a4ïŒ- ã«ãŒããåã³ã³ããŒãºããããã³ã«
LocalSoftwareKeyboardController
ãšLocalTextInputService
ã«æ°ããå€ãæäŸãããããšã§çºçãããäœåãªããŠã³ã¹ããªãŒã åã³ã³ããŒãºãä¿®æ£ããŸãããïŒI42190ãb/310510985ïŒ
ããŒãžã§ã³ 1.6.0-beta02
2023 幎 11 æ 29 æ¥
androidx.compose.ui:ui-*:1.6.0-beta02
ããªãªãŒã¹ãããŸãããããŒãžã§ã³ 1.6.0-beta02 ã«å«ãŸãã commit ã«ã€ããŠã¯ããã¡ããã芧ãã ããã
ããŒãžã§ã³ 1.6.0-beta01
2023 幎 11 æ 15 æ¥
androidx.compose.ui:ui-*:1.6.0-beta01
ããªãªãŒã¹ãããŸãããããŒãžã§ã³ 1.6.0-beta01 ã«å«ãŸãã commit ã«ã€ããŠã¯ããã¡ããã芧ãã ããã
API ã®å€æŽ
DragAndDropTarget
修食åã¯ãåãåãDragAndDropTarget
ãæç€ºçã«åãåãããã©ãã°ïŒãããã ã»ãã·ã§ã³ããªããã€ã³ããã©ã ããæã€ããã«ãªããŸãããããã§ãDragAndDropModifierNode
ã®ãã¡ã¯ããªé¢æ°ã 2 ã€ã«ãªããŸããã転éãåä¿¡ããããã®ãã®ãšãããŒã¿ã転éããããã®ãã®ïŒI69481ïŒmaximumFlingVelocity
ã Float ãšããŠè¡šãããã«æŽæ°ããŸãããmaximumFlingVelocity
ã®åäœã«ã€ããŠããæç¢ºã«ãªãããããã¥ã¡ã³ããæŽæ°ããŸãããïŒI8adc7ïŒDragAndDropModifierNode
ãã¡ã¯ããªã®onDragAndDropStart
ã®ååãacceptDragAndDropTransfer
ã«å€æŽãããŸããããã©ãã°ïŒãããã ã»ãã·ã§ã³ããåãå ¥ããããã«ãdragAndDropTarget
修食åã«acceptsDragAndDropTransfer
ã远å ãããŸããããã®ã©ã ãã¯ããã©ãã°ïŒãããã ã»ãã·ã§ã³ã«é¢å¿ãããå Žåã«ãå®è¡å¯èœãªDragAndDropTarget
ãè¿ããŸãããã©ãã° ã€ãã³ããåŠçããä»ã®ã©ã ããããã«çœ®ãæããããŸããããã©ãã°ïŒãããã ã»ãã·ã§ã³ããåãåãDragAndDropTarget
ãã¡ã¯ããªé¢æ°ã远å ãããŸããïŒIebf3aïŒå
DragAndDropInfo
ãåé€ããŸãããDragAndDropModifierNode.drag
ã¯transferData
ãè£ é£Ÿãµã€ãºããã©ãã°è£ 食DrawScope
ã©ã ãã®ãã©ã¡ãŒã¿ãåãåãããã«ãªããŸããDragAndDropTarget
ã¯ãåäžã®æœè±¡ã¡ãœããã§ã¯ãªããç¹å®ã®ãã©ãã°ïŒãããã ã€ãã³ãã®ã¡ãœãããåããŠããŸããDragAndDropModifierNode
ã®ãã¡ã¯ããªé¢æ°ã®onDragAndDropEvent
ã®ååãonDragAndDropStart
ã«å€æŽãããŸãããããã¯ãæäŸãããDragAndDropTarget
ãç¹å®ã®ãã©ãã°ïŒãããã ã»ãã·ã§ã³ã§ã®ã¿æå¹ã§ããããšãããæç¢ºã«ããããã§ããDragAndDropEventType
ãåé€ããŸããïŒI645b1ïŒPlatformTextInputModifierNode.runTextInputSession
ã®ååãestablishTextInputSession
ã«å€æŽããŸãããïŒI03cd0ïŒãã©ããŒãµã«å¯èœãªããŒãã® API åãæ¹åããããããããããããŸãããïŒIa4474ïŒ
OriginalText
ãTextSubstitution
ã«çœ®ãæããŸããïŒIfa5a8ïŒPlatformTextInputModifierNode.textInputSession
ã®ååãrunTextInputSession
ã«å€æŽããŸããïŒIe9c6bïŒå°æ¥ã®åå©çšã®ããã«ä¿æããã
SubcomposeLayout
ã®åïŒããã³ããã«åºã¥ãLazyColumn
ãªã©ã®ã¬ã€ã¢ãŠãïŒã¯ãéã¢ã¯ãã£ããšèŠãªãããŸãããã®ãããªããŒãããã¹ãããããã«ãæ°ããassertIsDeactivated()
ãã¹ã API ãå°å ¥ãããŸãããæ®ãã®ãã¹ã API ã¯ãããã©ã«ãã§ç¡å¹åãããããŒããé€å€ããŸããïŒI2ef84ãb/187188981ïŒFocusDirection.In
ãšFocusDirection.Out
ãåé€ãã代ããã«FocusDirection.Enter
ãšFocusDirection.Exit
ã䜿çšïŒI2f660ïŒMaterial
SwipeToReveal
APIïŒã«ãŒããšãããçšïŒã¯ãããŒã¿ã¯ã©ã¹ ããŒã¹ã®ã€ã³ã¹ã¿ã³ã¹ã§ã¯ãªããã¹ããã ããŒã¹ã® APIïŒCompose ã§æšå¥šïŒã䜿çšããŠã¹ããããäœæããããã«ãªããŸãããããã¯äºææ§ãç Žã倿Žã§ããæ°ãã API ã®äœ¿çšäŸã«ã€ããŠã¯ããã¢ãšãµã³ãã«ã³ãŒããã芧ãã ãããïŒIa8943ïŒFontStyle(int)
ã³ã³ã¹ãã©ã¯ã¿ã¯éæšå¥šã§ãã代ããã«FontStyle.Normal
ãŸãã¯FontStyle.Italic
ã䜿çšããŠãã ãããïŒI66610ïŒFontScalable
ã€ã³ã¿ãŒãã§ãŒã¹ã®ååãFontScaling
ã«å€æŽããŸããïŒIe804aïŒ
ãã°ã®ä¿®æ£
- ããã¹ã ãšãã£ã¿ããã©ãŒã«ã¹ãããŠããªãå Žåã
SoftwareKeyboardController.show()
ã§ãœãããŠã§ã¢ ããŒããŒãã衚瀺ãããªããªããŸãããïŒI2165aãb/301477279ïŒ - åã Compose View ã§ Down ã€ãã³ããåä¿¡ããŠããªãããŒã®ããŒããŠã§ã¢ ã㌠Up ã€ãã³ãã¯ç¡èŠãããããã«ãªããŸãããïŒIb37b4ãb/305518328ïŒ
ArcLine
ã§ã¹ã€ãŒã ã°ã©ããŒã·ã§ã³ã®ã¬ã³ãã© ãµããŒãã远å ãïŒI4d5bbïŒPageSize.Fixed
ã® equals ãš hashcode ãå®è£ ããŸããïŒIe3edeãb/300134276ïŒ- Window Inset ã®å€æŽã«é¢ãããã€ããªäºææ§ã®åé¡ãä¿®æ£ïŒIee695ïŒ
- Material3 ããã/ãã¿ã³ã®ãããªã¢ã« ã³ã¢ã¬ã€ã€ãåé€ããŸããããã€ã¯ããã³ãããŒã¯ã§ããã®ã¬ã€ã€ããªãæ¹ãããã©ãŒãã³ã¹ãåäžããããšã瀺ãããããã§ããïŒI55555ïŒ
- Compose ãã¹ãã®
effectContext
ãšããŠæž¡ãããTestDispatcher
ã¯ããã¹ããšãã¬ãŒã ã¯ããã¯ã®äœæã«äœ¿çšãããããã«ãªããŸãããïŒIa7178ïŒ
ããŒãžã§ã³ 1.6.0-alpha08
2023 幎 10 æ 18 æ¥
androidx.compose.ui:ui-*:1.6.0-alpha08
ããªãªãŒã¹ãããŸãããããŒãžã§ã³ 1.6.0-alpha08 ã«å«ãŸãã commit ã«ã€ããŠã¯ããã¡ããã芧ãã ããã
API ã®å€æŽ
Modifier.dragAndDrawSource
ã®onDrawDragShadow
ã©ã ãã®ååãdrawDragDecoration
ã«å€æŽãããDragAndDropInfo
ã®ãµã€ãº ãã©ã¡ãŒã¿ã®ååãdragDecorationSize
ã«å€æŽãããŸãããïŒId0e30ãb/303904810ïŒ- äžèŽããããŒããå¯èŠãã©ãããã¢ãµãŒã·ã§ã³ãªãã§ç¢ºèªããããã«ã
SemanticsNodeInteraction.isDisplayed()
ãšSemanticsNodeInteraction.isNotDisplayed()
ãå°å ¥ããŸããïŒI2c196ãb/302100809ïŒ ParagraphTextStyle
ã®TextAlign
ãTextDirection
ãHyphens
ãLineBreak
ãã£ãŒã«ãã«null
ã眮ãæããç¹å¥ãªUnspecified
å€ãå°å ¥ããŸããããããã®ã¯ã©ã¹ã¯ã€ã³ã©ã€ã³ ã¯ã©ã¹ã§ãããããnullable ã Unspecified ã«çœ®ãæããããšã§ãããªããã£ãåã®ãã¯ã·ã³ã°ãåé¿ã§ããŸããTextStyle
ãšæ®µèœã¹ã¿ã€ã«ã®ã³ã³ã¹ãã©ã¯ã¿ãã²ãã¿ãŒããã®ä»ã®ã¡ãœããããåè¿°ã®ãã©ã¡ãŒã¿ã null 以å€ã®åãšããŠåãå ¥ããããã«æŽæ°ãããŸãããïŒI4197eãb/299490814ïŒ- XML ãã
GoogleFont
ãèªã¿åãããã®GoogleFont
ãªãŒããŒããŒãã远å ãïŒIf8f59ïŒ LoremIpsum
PreviewParameterProvider
ããªãŒãã³ ã¯ã©ã¹ã«ããŸãããïŒI41bf5ãb/266918816ãb/300116360ïŒ
ãã°ã®ä¿®æ£
FontFamilyResolver
ã¯ããã£ãã·ã¥ç®¡çã³ã«ãŒãã³ã«Dispatchers.Main
ã䜿çšããããã«ãªããŸãããïŒIe8dd9ïŒAndroidViewBinding
ããã¬ã€ã¢ãŠãã«FragmentContainerView
ãå«ããããšã§æ¡åŒµãããFragment
ã€ã³ã¹ã¿ã³ã¹ããonRelease
ã®äžéšãšããŠcommitNow
ïŒä»¥å䜿çšããŠããcommit
ã§ã¯ãªãïŒã䜿çšããŠåæçã«åé€ããããã«ãªããŸãããããã«ããã倿޿ã«ã³ã³ããžã·ã§ã³ã眮ãæãã Live Edit ã®ã¡ãœããã«é¢ããåé¡ãä¿®æ£ãããŸãããïŒI58fbfïŒ
ããŒãžã§ã³ 1.6.0-alpha07
2023 幎 10 æ 4 æ¥
androidx.compose.ui:ui-*:1.6.0-alpha07
ããªãªãŒã¹ãããŸãããããŒãžã§ã³ 1.6.0-alpha07 ã«å«ãŸãã commit ã«ã€ããŠã¯ããã¡ããã芧ãã ããã
API ã®å€æŽ
- ã«ã¹ã¿ã ããã¹ã ãšãã£ã¿ã®ãã¹ããèšè¿°ããããã®
PlatformTextInputMethodTestOverride
ãå°å ¥ããŸãããïŒId159bïŒ - ãã©ãã°ïŒãããã ã»ãã·ã§ã³ãéå§ããããã®
dragAndDropSource
修食åãšããã©ãã°ïŒãããã ã»ãã·ã§ã³ããåä¿¡ããããã®dragAndDropTarget
修食åã远å ããŸããïŒIb7828ãb/286038936ïŒ - å²ãåœãŠãåé¿ãã
ColorList
ã³ã¬ã¯ã·ã§ã³ãšColorSet
ã³ã¬ã¯ã·ã§ã³ã远å ããŸãããïŒI744bdïŒ - éç·åœ¢ãã©ã³ã ã¹ã±ãŒãªã³ã°ãç¡å¹ã«ããããã®
DisableNonLinearFontScalingInCompose
äžæãã©ã°ã远å ããŸãããã¯ãªãŒã³ã¢ããã«æéããããå Žåã¯ããã¹ãã§DisableNonLinearFontScalingInCompose = true
ãèšå®ããŸãããã®ãã©ã°ã¯ Compose 1.6.0-beta01 ã§åé€ãããŸããïŒIc9486ïŒ
ãã°ã®ä¿®æ£
- XML ãã¯ã¿ãŒåãããŒã¢ãã«ã®è§£æãæé©åããŸãããïŒIbb015ïŒ
ããŒãžã§ã³ 1.6.0-alpha06
2023 幎 9 æ 20 æ¥
androidx.compose.ui:ui-*:1.6.0-alpha06
ããªãªãŒã¹ãããŸãããããŒãžã§ã³ 1.6.0-alpha06 ã«å«ãŸãã commit ã«ã€ããŠã¯ããã¡ããã芧ãã ããã
API ã®å€æŽ
- ãããªã¢ã« ã¢ã€ã³ã³ã®è¿œå ã®æé©åãïŒI3e08dïŒ
- 修食åããªãŒãäžäžã«ç§»åããŠé¡äŒŒããŒããèŠã€ããæ©èœã远å ãïŒI2d234ïŒ
focusRestorer()
修食åã«onRestoreFailed()
ã³ãŒã«ããã¯ã远å ããŸããïŒIe1d43ïŒ- ããŸããŸãªã°ã©ãã£ã㯠API ã« androidx ã¢ãããŒã·ã§ã³ã远å ãã
ColorInt
ãFloatRange
ãIntRange
ãSize
ãªã©ãæå®ããŸãããïŒId65c8ãb/290950582ïŒ PreviewScreenSizes
ã®å®çŸ©ã«showSystemUi=true
ã远å ããŸããïŒIb61d3ïŒ
åäœã®å€æŽ
- Compose ã§ã¯ãèªã¿ããããšã¢ã¯ã»ã·ããªãã£ãåäžãããããã«ãéç·åœ¢ãã©ã³ã ã¹ã±ãŒãªã³ã°ã䜿çšãããããã«ãªããŸãããã·ã¹ãã èšå®ã§ãã©ã³ãã®æ¡å€§ / çž®å°çã 100% ãè¶ ããŠããå Žåãå°ããããã¹ãã¯éåžžã©ããæ¡å€§ãããŸããããã§ã«å€§ããããã¹ãã¯å°ãããæ¡å€§ãããŸããããŸããSP ã§å®çŸ©ãããè¡ã®é«ãã¯ãæå³ããé«ãã® 100% ã¹ã±ãŒã«ã«æ¯äŸããããã«èªåçã«èª¿æŽãããŸãã詳ããã¯ããã©ã³ã ã¹ã±ãŒãªã³ã°ã®ãã¹ã ãã©ã¯ãã£ã¹ãã芧ãã ããïŒI11518ïŒã
ããŒãžã§ã³ 1.6.0-alpha05
2023 幎 9 æ 6 æ¥
androidx.compose.ui:ui-*:1.6.0-alpha05
ããªãªãŒã¹ãããŸãããããŒãžã§ã³ 1.6.0-alpha05 ã«å«ãŸãã commit ã«ã€ããŠã¯ããã¡ããã芧ãã ããã
API ã®å€æŽ
AndroidComposeViewAccessibilityDelegateCompat
ã§ã³ã³ãã³ã ãã£ããã£ãæå¹ã«ããŸããïŒIb2969ïŒScrollView
ãRecyclerView
ãªã©ã® View ã³ã³ããŒãã³ãã®ããªã³ã°é床ã¯ViewConfiguration.ScaledMaximumFlingVelocity
ã«å¶éãããŸããCompose ã«ã¯ç¬èªã®ããŒãžã§ã³ã®maximumFlingVelocity
ãå«ãŸããããã«ãªããDraggable
ã«é©çšãããããã«ãªããŸãããïŒIbf974ïŒ- ãã©ãããã©ãŒã ã®ãã©ãã°ïŒãããã API ããµããŒãããåæã¹ãã£ãã©ãŒã«ãã£ã³ã°ã远å ããŸããïŒIf84ceïŒ
deviceId
ãRotaryScrollEvent
ã«è¿œå ããŸããïŒIba3bfïŒ- æ°ããããã€ã¹ãå«ããããã«
ui-tooling
Devices API ãæŽæ°ããŸããïŒIb25b4ïŒ
ããŒãžã§ã³ 1.6.0-alpha04
2023 幎 8 æ 23 æ¥
androidx.compose.ui:ui-*:1.6.0-alpha04
ããªãªãŒã¹ãããŸãããããŒãžã§ã³ 1.6.0-alpha04 ã«å«ãŸãã commit ã«ã€ããŠã¯ããã¡ããã芧ãã ããã
API ã®å€æŽ
ReusableComposition
ãç¡å¹ã«ããã¡ãœããã远å ããŸãããããã«ãããã¢ãã¿ãªã³ã°ã¯åé€ãããŸãããããŒãã¯ãã®ãŸãŸæ®ããŸããç¡å¹ã«ãªã£ãã³ã³ããžã·ã§ã³ã¯ãsetContent
ãåŒã³åºãããšã§å床æå¹ã«ã§ããŸããïŒIb7f31ïŒ- ãµãã³ã³ããžã·ã§ã³ã®ã©ã€ããµã€ã¯ã«ãšåå©çšã管çãã
ReusableComposition
ã€ã³ã¿ãŒãã§ãŒã¹ã远å ããŸããïŒI812d1ãb/252846775ïŒã Modifier.focusGroup
ãå®å®ç API ã«ææ ŒããŸãããïŒI7ffa3ïŒ- ããŸããŸãªã°ã©ãã£ã㯠API ã« androidx ã¢ãããŒã·ã§ã³ã远å ãã
ColorInt
ãFloatRange
ãIntRange
ãSize
ãªã©ãæå®ããŸãããïŒI70487ãb/290950582ïŒ ColorFilter
API ãæŽæ°ãããã©ã¡ãŒã¿ã®æ€æ»å¯èœæ§ãåäžãããããã«å ·äœçãªãµãã¯ã©ã¹åã远å ããŸãããïŒI5fe29ïŒ- UI ãã¬ãã¥ãŒã«äœ¿çšã§ããæå¹ãªãŠã§ã¢ã©ãã« ããã€ã¹ãäžèŠ§è¡šç€ºãã wear-tooling-preview ã©ã€ãã©ãªãå°å ¥ïŒIb036eïŒ
- Density ã€ã³ã¿ãŒãã§ãŒã¹ã®ãã©ã³ã ã¹ã±ãŒãªã³ã°éšåãåŠçãã
FontScalable
ã€ã³ã¿ãŒãã§ãŒã¹ãäœæããŸãããïŒI2cf3fïŒ
ããŒãžã§ã³ 1.6.0-alpha03
2023 幎 8 æ 9 æ¥
androidx.compose.ui:ui-*:1.6.0-alpha03
ããªãªãŒã¹ãããŸãããããŒãžã§ã³ 1.6.0-alpha03 ã«å«ãŸãã commit ã«ã€ããŠã¯ããã¡ããã芧ãã ããã
API ã®å€æŽ
- éå§ / çµäºã¢ãã¡ãŒã·ã§ã³äžã«ãã¢ãã¡ãŒã·ã§ã³åãããã³ã³ããã®ãµã€ãºã«åºã¥ããŠã³ã³ãã³ããæ¡å€§çž®å°ããæ°ããã¿ã€ãã®éå§ / çµäºãã©ã³ãžã·ã§ã³ã
LookaheadScope
ã³ã³ããŒã¶ãã«é¢æ°ãšã€ã³ã¿ãŒãã§ãŒã¹ãå®å®çã«ãªããŸãããïŒIfb2ceïŒ privateImeOptions
ã®æ§æã®ãµããŒãã远å ããŸããïŒIdb772ïŒ
ãã°ã®ä¿®æ£
PopupPositionProvider.calculatePosition
ã¯ãèšç®ã§èªã¿åãããç¶æ ã倿Žããããšããããã¢ããã®äœçœ®ãèªåçã«æŽæ°ããããã«ãªããŸãããïŒI676a1ãb/292257547ïŒreadOnly
ã true ã®å Žåã«ããã¹ã ãã£ãŒã«ããããŒããŒãã衚瀺ããŠç·šéå¯èœã«ãªãåé¡ãä¿®æ£ããŸããããŸãããã©ãŒã«ã¹ãããŠãããšãã«readOnly
ã true ãã false ã«å€æŽãããå Žåã«ããŒããŒãã衚瀺ãããªãåé¡ãä¿®æ£ããŸãããïŒI34a19ãb/246909589ïŒ- UI ãã¹ãã§ã®ã°ããŒãã« ã¢ãµãŒã·ã§ã³ã®é©çšç¯å²ãæ¡å€§ãïŒI1f90dïŒ
ããŒãžã§ã³ 1.6.0-alpha02
2023 幎 7 æ 26 æ¥
androidx.compose.ui:ui-*:1.6.0-alpha02
ããªãªãŒã¹ãããŸãããããŒãžã§ã³ 1.6.0-alpha02 ã«å«ãŸãã commit ã«ã€ããŠã¯ããã¡ããã芧ãã ããã
API ã®å€æŽ
- Composition ã®å®è£ è ãå®è£ ã§ãããµãŒãã¹ ãã±ãŒã¿ ã€ã³ã¿ãŒãã§ãŒã¹ã远å ããŸãããããã«ãããå¥ã®ã³ã³ããžã·ã§ã³ ããªã²ãŒã ãµãŒãã¹ ã«ãã¯ã¢ãããå ã®ã³ã³ããžã·ã§ã³ã«å§ä»»ããã³ã³ããžã·ã§ã³ã®å®è£ ãå¯èœã«ãªããŸããããã¯çŽæ¥åŒã³åºãã¹ãã§ã¯ãªããUI ã¢ãžã¥ãŒã«ãªã©ã®ã³ã³ããŒã¶ãŒã®ã©ãããããããŒãžã§ã³ããèŠã€ããããšãã§ããã©ã³ã¿ã€ã ã§è©Šéšéçšçã® API ãäœæã§ããããã«ããããã«äœ¿çšãããŸããïŒI296b9ïŒ
PlatformTextInput*
API ãå®å šã«åèšèšããŸãããïŒI6c93aãb/274661182ãb/267235947ãb/277380808ïŒSoftwareKeyboardController
ãšLocalSoftwareKeyboardController
ã¯è©Šéšéçšçã§ã¯ãªããªããŸãããLocalSoftwareKeyboardController
ãé©åãªCompositionLocal
ã«ãªããŸãããïŒI4c364ïŒLookaheadLayout
ãšLookaheadLayoutScope
ã¯æ°ãªãªãŒã¹åããéæšå¥šãšãªã£ãŠããŸããããä»ååé€ãããŸãããåŸç¶ API ã¯LookaheadScope
ã§ãä»»æã®ã¬ã€ã¢ãŠãã§åäœããŸããïŒI12ac3ïŒ- ãã¹ãã§ãã©ãŒã«ã¹ããªã¯ãšã¹ãããããã䟿å©ã§æ€åºå¯èœãªæ¹æ³ãšããŠ
SemanticsNodeInteraction.requestFocus
ã远å ããŸãããïŒIe8722ïŒ - å°æ¥çã«ãã¹ã ãã¬ãŒã ã¯ãŒã¯ã§äœ¿çšãããã°ããŒãã« ã¢ãµãŒã·ã§ã³ãç»é²ããããã®è©Šéšéçšç API ã远å ããŸãããïŒI12d77ïŒ
ãã°ã®ä¿®æ£
AndroidView
ã®update
ã³ãŒã«ããã¯ã®æåã®åŒã³åºãã¯ãAndroidView
ãå°å ¥ããã³ã³ããžã·ã§ã³ãé©çšããããšãã«å®è¡ãããã®ã§ã¯ãªãããã¥ãŒãã¢ã¿ããããããŸã§å»¶æãããããã«ãªããŸããããã®ä¿®æ£ã«ãããèªã¿åã£ãç¶æ ããšãã§ã¯ãã«ãã£ãŠããã«å€æŽãããå Žåã«update
ã³ãŒã«ããã¯ãç¡å¹ã«ãªããªããã°ãä¿®æ£ãããŸããïŒIe9438ãb/291094055ïŒ
ããŒãžã§ã³ 1.6.0-alpha01
2023 幎 6 æ 21 æ¥
androidx.compose.ui:ui-*:1.6.0-alpha01
ããªãªãŒã¹ãããŸãããããŒãžã§ã³ 1.6.0-alpha01 ã«å«ãŸãã commit ã«ã€ããŠã¯ããã¡ããã芧ãã ããã
æ°æ©èœ
LazyList
ã§å èªã¿ããµããŒããããã«ãããå èªã¿ãã¹ã®LazyList
ã¯ã¢ãã¡ãŒã·ã§ã³ïŒã¢ã€ãã ã®é 眮ã¢ãã¡ãŒã·ã§ã³ãAnimatedVisibility
ãªã©ïŒããã€ãã¹ãããã¹ãŠã®åã®å èªã¿ãµã€ãºãšäœçœ®ãèšç®ã§ããŸããã«ãã¯ã¢ããã ãã¹ã®åŸãLazyList
ã®åèŠçŽ ã¯ã«ãã¯ã¢ããã ãã¹ã§ç¢ºèªãããçŸå®ãåæ ããŠåå¥ã«ã¢ãã¡ãŒã·ã§ã³åã§ããŸãã
åäœã®å€æŽ: Compose ã§ includeFontPadding ãããã©ã«ãã§ false ã«ãªããŸãã
Compose ã§ includeFontPadding
ãããã©ã«ãã§ false ã«ãªããŸããïŒ21d806ïŒã
includeFontPadding
ã¯ãããã¹ãã®ããŒã¹ã©ã€ã³ã®äžãŸãã¯äžã«äŒžã³ãå¯èœæ§ã®ããæåã«å¯Ÿå¿ããããã«ãããã¹ãã®æåã®è¡ãšæåŸã®è¡ã®äžã«äœåãªããã£ã³ã°ãå«ãããã©ãããå¶åŸ¡ããã¬ã¬ã·ãŒå±æ§ã§ãã
ãã® Compose ããŒãžã§ã³ãæŽæ°ãããšã衚瀺ãããã¹ãŠã®ããã¹ãã® 1 è¡ç®ãšæåŸã®è¡ã®äžã«ããäœåãªããã£ã³ã°ãåé€ãããUI ã§ã®ãã¹ãŠã®ããã¹ãã®ã¬ã³ããªã³ã°æ¹æ³ã倿ŽãããŸãã
UI ã®èŠä»¶ãšäœ¿çšããŠãããã©ã³ãææšã«ãã£ãŠã¯ã倿Žã¯æå°éã§æžã¿ãŸãããã ããæ¬¡ã®ãããªãããã«ãŒãçºçããå¯èœæ§ããããŸãã - ã¹ã¯ãªãŒã³ã·ã§ãã ãã¹ãã®ç Žæãå¿ èŠã«å¿ã㊠UI ãä¿®æ£ãããŽãŒã«ãã³ ã€ã¡ãŒãžãåçæããŸãã- ããã¹ãããããã«ãããŠãããã«ã¹ã¿ã ã®è² ã®ããã£ã³ã°ãåé€ããããå¿ èŠã«å¿ããŠããã£ã³ã°ã远å ããŸãã
åããã¹ãã« PlatformTextStyle
ã䜿çšããŠãincludeFontPadding
ãæå¹ã«ã§ããŸãã
Text(
text = myText,
style = TextStyle(
lineHeight = 2.5.em,
platformStyle = PlatformTextStyle(
includeFontPadding = true/false
)
/* ⊠*/
)
)
ãããªã¢ã« ã¹ã¿ã€ã«ãæ§æããããšã§ããã¹ãŠã®ããã¹ãã§ includeFontPadding
ãæå¹ã«ã§ããŸãããã©ã¡ãŒã¿å㯠M2 ãš M3 ã§ç°ãªããŸãã
val Typography = Typography(
body1 = TextStyle(
fontFamily = /* ⊠*/,
fontSize = /* ⊠*/,
platformStyle = PlatformTextStyle(
includeFontPadding = false
)
/* ⊠*/
)
)
MaterialTheme(
typography = Typography,
/* ⊠*/
)
Compose includeFontPadding
ã«ã€ããŠè©³ããã¯ãããããããŒåãããã¥ã¡ã³ããšãã¡ãã®ããã°æçš¿ãã芧ãã ããã
ãã®å€æŽã«é¢é£ããåé¡ããã°ãçºçããå Žåã¯ãåé¡ãã©ãã«ãŒã䜿çšããŠãã°ãå ±åããŠãã ããã
API ã®å€æŽ
InputConnection#requestCursorUpdates
ããµããŒãïŒI0c69bïŒFocusRequester.saveFocusedChild
ãšFocusRequester.restoreFocusedChild
ã远å ããŸããïŒIc557eãb/272302679ãb/275157318ïŒ- ãããããã ã¢ã»ããã®èªã¿èŸŒã¿ã詊è¡ãããšãã«ã¹ããŒãããã¹ããŒå¯èœãªããžã§ã¯ããã©ãããã
ResourceResolutionException
åã远å ããèªã¿èŸŒã¿ã«å€±æããã¢ã»ãããã¹ã®èª¬æã远å ããŸããïŒI19f44ãb/230166331ãb/278424788ïŒ - ããã©ãŒãã³ã¹ãšã¡ã¢ãªå²ãåœãŠã®ããã«ã¢ã¯ã»ã·ããªãã£ãæé©åããŸãããïŒIede48ïŒ
- ããã¹ã翻蚳ããµããŒãããã»ãã³ãã£ã¯ã¹ ããããã£ãšã¢ã¯ã·ã§ã³ã远å ããŸãããïŒI4a6bcïŒ
- çŸåšã®æž¬å®ãã¹ãã«ãã¯ã¢ããã ãã¹ãã©ããã瀺ã
IntrinsincMeasureScope
ã®æ°ããããããã£ãšãã®å®è£ ïŒMeasureScope
ãªã©ïŒãïŒI7a812ïŒ DrawScope
API ãæŽæ°ãã代æ¿ã®å¯åºŠ / ã¬ã€ã¢ãŠãæ¹å / ãµã€ãºã䜿çšããŠå¥ã®ãã£ã³ãã¹ã«ã¬ã³ããªã³ã°ããªã¿ãŒã²ããããæ©èœãå°å ¥ããŸãããDrawContext
ãæŽæ°ããŠãå¯åºŠãšã¬ã€ã¢ãŠãã®æ¹åã®æ§æããµããŒããããã£ã³ãã¹ãæ§æå¯èœã«ããŸãããïŒIe1f9bãb/225408150ïŒ- æåã®å¢çããã¯ã¹ãèšç®ãã
Paragraph#fillBoundingBoxes
ã远å ããŸãããïŒIf30eeïŒ - äžè¬çãª
MultiPreviews
ã®ã»ããã远å ããŸããïŒIa5a27ïŒ
ãã°ã®ä¿®æ£
- ã«ã¹ã¿ã
FocusTarget
ã®äœæã«äœ¿çšã§ããFocusTargetModifierNode
ã€ã³ã¿ãŒãã§ãŒã¹ã远å ããŸãããïŒI9790eïŒ TextMeasurer
ã³ã³ã¹ãã©ã¯ã¿ã®fallback*
ãã©ã¡ãŒã¿ã®ååãdefault*
ã«å€æŽããŸãããïŒI940a5ïŒSemanticsPropertyReceiver.performImeAction
ã®ååãonImeAction
ã«ãSemanticsActions.PerformImeAction
ã®ååãOnImeAction
ã«å€æŽããŸãããïŒI8e841ïŒ- ãã¹ããããã¹ã¯ããŒã«ïŒç¹ã«
NestedScrollConnection
ïŒã§ããŠã¹ ã¹ã¯ããŒã«ãšãã©ãã°ãåºå¥ããããã« Wheel ã远å ããŸããïŒIe57e4ïŒ asComposePaint
API ã远å ããŠtoComposePaint
ã眮ãæããŸãããè¿ããããªããžã§ã¯ããå ã®android.graphics.Paint
ãã©ããããããã§ãïŒI22b4cïŒSemanticsProperties.imeAction
ãéæšå¥šãšããSemanticsActions.performImeAction
ã®æ°ãããã©ã¡ãŒã¿ã«çœ®ãæããŸããïŒI4a587ïŒ- ããŠã¹ã«ããéžæã®ãµããŒãã远å ããŸãããã¿ããããŒã¹ã®éžæã§ã¯ãåèªåäœã§æ¡åŒµãããæååäœã§çž®å°ãããŸããïŒIc0c6cãb/180639271ïŒ
- ç¯å²å€ã®ãªãã»ããã«å¯ŸããŠ
AssertionError
ãã¹ããŒããŠããParagraph
ã¡ãœããã¯ãMultiParagraph
ãšåæ§ã«IllegalArgumentException
ãã¹ããŒããããã«ãªããŸãããïŒI549d3ãb/243338896ïŒ
ããŒãžã§ã³ 1.5
ããŒãžã§ã³ 1.5.4
2023 幎 10 æ 18 æ¥
androidx.compose.ui:ui-*:1.5.4
ããªãªãŒã¹ãããŸãããããŒãžã§ã³ 1.5.4 ã«å«ãŸãã commit ã«ã€ããŠã¯ããã¡ããã芧ãã ããã
ããŒãžã§ã³ 1.5.3
2023 幎 10 æ 4 æ¥
androidx.compose.ui:ui-*:1.5.3
ããªãªãŒã¹ãããŸãããããŒãžã§ã³ 1.5.3 ã«å«ãŸãã commit ã«ã€ããŠã¯ããã¡ããã芧ãã ããã
ãã°ã®ä¿®æ£
- ïŒb/301209788ïŒéåœèªã®å
¥åã«ãã©ãŒã«ã¹ããŠå
¥åãããšã
TextField
ã以åã®ã³ãã³ãã誀ã£ãŠé©çšããæåã倱ãããããšããããŸããã
ããŒãžã§ã³ 1.5.2
2023 幎 9 æ 27 æ¥
androidx.compose.ui:ui-*:1.5.2
ããªãªãŒã¹ãããŸãããããŒãžã§ã³ 1.5.2 ã«å«ãŸãã commit ã«ã€ããŠã¯ããã¡ããã芧ãã ããã
ãã°ã®ä¿®æ£
- ããã¯ã°ã©ãŠã³ã ã¹ã¬ãããããŠãŒã¶ãŒè£å©ã¹ã¯ããŒã« API ã«ã¢ã¯ã»ã¹ãããšãã«ã¯ã©ãã·ã¥ããåé¡ã®åé¿çã远å ããŸããã
- ã»ãã³ãã£ã¯ã¹ ããªãŒã«ã¢ã¿ãããããŠããªãããŒãã远å ãããåé¡ãä¿®æ£ããŸããã
ããŒãžã§ã³ 1.5.1
2023 幎 9 æ 6 æ¥
androidx.compose.ui:ui-*:1.5.1
ããªãªãŒã¹ãããŸãããããŒãžã§ã³ 1.5.1 ã«å«ãŸãã commit ã«ã€ããŠã¯ããã¡ããã芧ãã ããã
ãã°ã®ä¿®æ£
readOnly
ã true ã®å Žåã«ããã¹ã ãã£ãŒã«ããããŒããŒãã衚瀺ããŠç·šéå¯èœã«ãªãåé¡ãä¿®æ£ããŸããããŸãããã©ãŒã«ã¹ãããŠãããšãã«readOnly
ã true ãã false ã«å€æŽãããå Žåã«ããŒããŒãã衚瀺ãããªãåé¡ãä¿®æ£ããŸãããïŒI34a19ãb/246909589ïŒ
ããŒãžã§ã³ 1.5.0
2023 幎 8 æ 9 æ¥
androidx.compose.ui:ui-*:1.5.0
ããªãªãŒã¹ãããŸãããããŒãžã§ã³ 1.5.0 ã«å«ãŸãã commit ã«ã€ããŠã¯ããã¡ããã芧ãã ããã
ããŒãžã§ã³ 1.5.0-rc01
2023 幎 7 æ 26 æ¥
androidx.compose.ui:ui-*:1.5.0-rc01
ããªãªãŒã¹ãããŸãããããŒãžã§ã³ 1.5.0-rc01 ã«å«ãŸãã commit ã«ã€ããŠã¯ããã¡ããã芧ãã ããã
ãã°ã®ä¿®æ£
movableContentOf()
å ã§SubcomposeLayout
ã䜿çšãããšã¯ã©ãã·ã¥ããåé¡ãä¿®æ£ããŸããã
ããŒãžã§ã³ 1.5.0-beta03
2023 幎 6 æ 28 æ¥
androidx.compose.ui:ui-*:1.5.0-beta03
ããªãªãŒã¹ãããŸãããããŒãžã§ã³ 1.5.0-beta03 ã«å«ãŸãã commit ã«ã€ããŠã¯ããã¡ããã芧ãã ããã
ãã°ã®ä¿®æ£
- ã«ã¹ã¿ã FocusTarget ã®äœæã«äœ¿çšã§ãã FocusTargetModifierNode ã€ã³ã¿ãŒãã§ãŒã¹ã远å ããŸãããïŒIfb1d6ïŒ
usePlatformDefaultWidth=true
ã®ãšãã«åãŠã£ã³ããŠã®ãµã€ãºãæåŸ ã©ããã«å€æŽãããªãããšããã Dialog ã³ã³ããŒã¶ãã«ãš Popup ã³ã³ããŒã¶ãã«ã«é¢ããåé¡ãä¿®æ£ããŸãããïŒI112eeïŒ
ããŒãžã§ã³ 1.5.0-beta02
2023 幎 6 æ 7 æ¥
androidx.compose.ui:ui-*:1.5.0-beta02
ããªãªãŒã¹ãããŸãããããŒãžã§ã³ 1.5.0-beta02 ã«å«ãŸãã commit ã«ã€ããŠã¯ããã¡ããã芧ãã ããã
API ã®å€æŽ
- Compose ã§äœ¿çšãã
android.graphics.Paint
ã€ã³ã¹ã¿ã³ã¹ã®å©çšãå¯èœã«ããasComposePaint
API ã远å ããŸãã
ãã°ã®ä¿®æ£
asComposePaint
API ã远å ããŠtoComposePaint
ã眮ãæããŸãããè¿ããããªããžã§ã¯ããå ã®android.graphics.Paint
ãã©ããããããã§ãïŒI22b4cïŒ
ããŒãžã§ã³ 1.5.0-beta01
2023 幎 5 æ 24 æ¥
androidx.compose.ui:ui-*:1.5.0-beta01
ããªãªãŒã¹ãããŸãããããŒãžã§ã³ 1.5.0-beta01 ã«å«ãŸãã commit ã«ã€ããŠã¯ããã¡ããã芧ãã ããã
API ã®å€æŽ
- åã³ã³ããŒãºãã«ã©ãŒ ã¢ãã¡ãŒã·ã§ã³ã
AndroidComposeView
ã§ã®å²ãåœãŠãåé€ããŸããïŒIb2bfaïŒ - å§ä»»ãèš±å¯ãããã«ããŒé¢æ°
CacheDrawModifierNode()
ã远å ïŒIcf8f9ïŒ MeasureScope
ããã¢ã¯ã»ã¹å¯èœãªisLookingAhead
ããããã£ãå°å ¥ããå èªã¿ã®çµæã芳å¯ããŠãå¿ èŠã«å¿ããŠã¡ã€ã³ãã¹ã«åœ±é¿ãäžããããããã«ããŸãããïŒIbf4c3ïŒ- æ°ããã»ãã³ãã£ã¯ã¹ ããããã£
traversalIndex
ãTalkBack
ãã©ããŒãµã«ã§ããŒãã®é åºã倿Žããããã«äœ¿çšãããæµ®åå°æ°ç¹æ°ïŒå€ãå°ããã»ã©åã«é 眮ãããŸãïŒãïŒI9a81bãb/186443263ïŒ - ã»ãã³ãã£ã¯ã¹ ããããã£
isContainer
ã®ååãisTraversalGroup
ã«å€æŽïŒI121f6ïŒ ColorProducer
ã«produce
ã§ã¯ãªãoperator fun invoke
ã远å ãããŸããïŒI4a9a2ïŒ- ãã¹ ãªããžã§ã¯ãã«å€æ/ã¹ã±ãŒã«/åè»¢å€æãé©çšãã
Path
倿 API ã远å ããŸãããïŒI23434ãb/233772232ïŒ ColorProducer
ã®ã¡ãœããã¯produce
ãšåŒã°ããŸããïŒI78bdeïŒtoFrameworkColorSpace
ã®ååãtoAndroidColorSpace
ã«å€æŽããŸãããïŒI4f547ïŒColorLambda
ãColorProducer
ã«å€æŽããŸãããïŒI73b1aïŒ- Android ãš Compose ã®è²ç©ºéã¿ã€ãã倿ãã API ãå°å ¥ããŸãããïŒIe7db4ãb/279979665ïŒ
- ããã¹ãã®è²ãå¹ççã«ã¢ãã¡ãŒã·ã§ã³åãŸãã¯èšå®ã§ããããã«ã
BasicText
ã«è²ãã©ã¡ãŒã¿ã远å ããŸãããïŒIffd88ãb/246961787ïŒ TextRange.constrain
ã®ååãTextRange.coerceIn
ã«å€æŽããŸããïŒI31be2ïŒ- æé©åããã
TextStyle.merge(...)
ãšå®å šãªãã©ã¡ãŒã¿ ãªã¹ãã远å ããŸãããïŒIad234ãb/246961787ïŒ Brush
ãDrawStyle
ãTextMotion
ãDrawScope.drawText
ãParagraph.paint(Brush)
ãMultiParagraph.paint(Brush)
ãå«ãå€ãã®ããã¹ã API ãå®å®åããŸãããïŒI2f740ãb/261581564ãb/261581931ãb/261561245ïŒPlatformTextStyle.includeFontPadding
ã®éæšå¥šãè§£é€ãããŸãããåœåã¯ãã£ãŒã«ããåé€ããäºå®ã§ããããããããããŒãããã®æ§æãªãã·ã§ã³ãå¿ èŠã§ãããšãããã£ãŒãããã¯ãå¯ããããŸããããã®ããããã£ãŒã«ãããéæšå¥šãåé€ããŸãïŒI98e96ãb/277703184ïŒ- å
Ž
TextRange.constrain
ã¡ãœããã远å ããŸãããïŒI97912ïŒ AnnotatedString
å ã®UrlAnnotation
ãTalkBack
ãªã©ã®ãŠãŒã¶ãŒè£å©ãµãŒãã¹ã§éããããã«ãªããŸãããïŒIf4d82ãb/253292081ïŒ- ããã¹ã ãã£ãŒã«ãçšã®
InsertTextAtCursor
ã»ãã³ãã£ã¯ã¹ ã¢ã¯ã·ã§ã³ã远å ããŸãããïŒI11ed5ïŒ LineHeightStyle.Alignment(topRatio)
ã³ã³ã¹ãã©ã¯ã¿ãå®å®ç API ã«ææ ŒããŸãããïŒI79c32ãb/261565383ïŒTextMeasurer
ãšé¢é£ãã API ã¯è©Šéšéçšçã§ã¯ãªããªããŸãããïŒI74647ãb/261581753ïŒ- ããã¹ã ãšãã£ã¿ ããŒãã§ IME ã¢ã¯ã·ã§ã³ãåŒã³åºãããã®
PerformImeAction
ã»ãã³ãã£ã¯ã¹ ã¢ã¯ã·ã§ã³ã远å ããŸãããïŒIc606fãb/269633506ïŒ - Android åãã®
PlatformTextInput
API ã¯è©Šéšéçšçã§ã¯ãªããªããŸãããïŒI668ebïŒ Enum.valueOf
ã® value ãã©ã¡ãŒã¿åã倿ŽããŸããïŒIa9b89ïŒ- enum valueOf ããäŸå€ãå€ãã¹ããŒãããããã«ãªããŸããïŒI818feïŒ
- ãã©ãããã©ãŒã API ãšçŽæ¥ããåãããã«ã¹ã¿ã ããã¹ãå
¥åå®è£
ãæ§ç¯ããããã®æ°ããããŒã¬ãã«
PlatformTextInputAdapter
API ãå°å ¥ããŸãããïŒI58df4ïŒ DrawScope.drawText
ãParagraph.paint
ãMultiParagraph.paint
ã®ã¡ãœããã«BlendMode
ãã©ã¡ãŒã¿ã远å ããCanvas ã«ããã¹ããæç»ããéã®ããŸããŸãªãã¬ã³ã ã¢ã«ãŽãªãºã ããµããŒãããŸãããïŒI57508ïŒFont.MaximumAsyncTimeout
ãFont.MaximumAsyncTimeoutMillis
ã«å€æŽããŸãããååã®å€æŽã®ã¿ãïŒI07af5ïŒ@Preview
ãªãã¡ã¬ã³ã¹ ããã€ã¹ã® DPI å€ãæŽæ°ããŸããïŒId6151ãb/254528382ïŒ- ããã¹ã ãã©ã·ãå¹ççã«ã¢ãã¡ãŒã·ã§ã³åãŸãã¯èšå®ã§ããããã«ã
BasicText
ã«brush
ãalpha
ãã©ã¡ãŒã¿ã远å ããŸããã - ::ui:ui-unit ã§ FloatãDoubleãLongãIntãShort ã®ããã¯ã¹ãªãã©ã ãåãå®çŸ©ïŒI6f18dãb/246961787ïŒ
ãã°ã®ä¿®æ£
- ãã€ã³ã¿é床ãã©ããã³ã°ã§è€æ°ã®å²ãåœãŠãåé€ããŸããïŒI26baeïŒ
- ã¬ã€ã¢ãŠããšãã€ã³ã¿å ¥å管çã®å²ãåœãŠãåæžããŸããïŒI5333aïŒ
- Vector ã®ã¡ã¢ãªäœ¿çšéãšæåã®ãã¬ãŒã ã®ã¬ã³ããªã³ã°ãæé©åïŒI2f3c6ïŒ
- Canvas ã§ç·ãšç¹ãæç»ããéã®å²ãåœãŠãåé€ããŸããïŒI9f535ïŒ
AndroidFont.fontVariationSettings
ã®ããã¥ã¡ã³ãã远å ããŸãããïŒI7d9e2ïŒ
å€éšããã®åå
- Vector API ã®ããã©ãŒãã³ã¹ãæ¹åããå²ãåœãŠãåæžïŒI906cbïŒ
ããŒãžã§ã³ 1.5.0-alpha04
2023 幎 5 æ 10 æ¥
androidx.compose.ui:ui-*:1.5.0-alpha04
ããªãªãŒã¹ãããŸãããããŒãžã§ã³ 1.5.0-alpha04 ã«å«ãŸãã commit ã«ã€ããŠã¯ããã¡ããã芧ãã ããã
æ°æ©èœ
Modifier.Node
å§ä»»ã®æ¹åDelegatingNode
ããä»ã®Modifier.Node
ã€ã³ã¹ã¿ã³ã¹ã«å§ä»»ããæ©èœã匷åãããŸãããããã¯ãdelegate
API ãšundelegate
API ã䜿çšããŠè¡ãããšãã§ããŸãããã®å€æŽã®åã¯ãå§ä»»ããŒãã®ãã¹ãŠã® API ãå§ä»»ããŒãã«æç€ºçã«å§ä»»ããå¿ èŠããããŸããããã®å€æŽåŸãDelegatingNode
ãæç€ºçã«ãªãŒããŒã©ã€ãããªãéããããŒã ã€ã³ã¿ãŒãã§ãŒã¹ã¯æé»çã«å§ä»»ãããŸããïŒ67352bcïŒ
API ã®å€æŽ
- å§ä»»å¯èœãª
NestedScroll Modifier.Node
ã§ããNestedScrollModifierNode
ãå°å ¥ããŸããïŒI69513ïŒ AndroidViewBinding
ã³ã³ããŒã¶ãã«ã«onReset
ãã©ã¡ãŒã¿ãšonRelease
ãã©ã¡ãŒã¿ã远å ããŸãããããã«ãããAndroidView
ã³ã³ããŒã¶ãã«ããã©ãŒãªã³ã°ãããViewBinding
ã䜿çšãã View ã®åå©çšããµããŒããããŸããïŒI00b1eãb/276802519ïŒ- Compose Path API ãæŽæ°ããå·»ãæ»ããªãã¬ãŒã·ã§ã³ããµããŒãããŠãé«éãªåå©çšã«ããé »ç¹ãª Path æäœã®ãŠãŒã¹ã±ãŒã¹ããµããŒãããŸãããïŒI7b797ïŒ
- æé©åããã
TextStyle.merge(...)
ãšå®å šãªãã©ã¡ãŒã¿ ãªã¹ãã远å ããŸãããïŒIad234ãb/246961787ïŒ Brush
ãDrawStyle
ãTextMotion
ãDrawScope.drawText
ãParagraph.paint(Brush)
ãMultiParagraph.paint(Brush)
ãå«ãå€ãã®ããã¹ã API ãå®å®åããŸãããïŒI2f740ãb/261581564ãb/261581931ãb/261561245ïŒPlatformTextStyle.includeFontPadding
ã®éæšå¥šãè§£é€ãããŸãããåœåã¯ãã£ãŒã«ããåé€ããäºå®ã§ããããããããããŒãããã®æ§æãªãã·ã§ã³ãå¿ èŠã§ãããšãããã£ãŒãããã¯ãå¯ããããŸããããã®ããããã£ãŒã«ãããéæšå¥šãåé€ããŸãïŒI98e96ãb/277703184ïŒ
ãã°ã®ä¿®æ£
Dialog
ã³ã³ããŒã¶ãã«ã§äœæãããŠããªããã€ã¢ãã°å ã®ããã¹ã ãã£ãŒã«ãã§ããŒããŒãã衚瀺ãããªãååž°ãä¿®æ£ããŸãããïŒI82551ãb/262140644ïŒ
ããŒãžã§ã³ 1.5.0-alpha03
2023 幎 4 æ 19 æ¥
androidx.compose.ui:ui-*:1.5.0-alpha03
ããªãªãŒã¹ãããŸãããããŒãžã§ã³ 1.5.0-alpha03 ã«å«ãŸãã commit ã«ã€ããŠã¯ããã¡ããã芧ãã ããã
æ°æ©èœ
LookaheadScope
ã®SubcomposeLayout
ã®æ°ããããã©ã«ãã®åäœ: æ¡ä»¶ä»ãã¹ãããïŒTabRow
ãScaffold
ãBoxWithConstraints
ãªã©ïŒããªãSubcomposeLayouts
ããã«ãã¯ã¢ããã ã¢ãã¡ãŒã·ã§ã³ãšé©åã«é£æºããããã«ãªããŸããã
API ã®å€æŽ
- æ°ããããã©ã«ãã®
intermediateMeasurePolicy
ã§ã¯ãå èªã¿ãã¹ã®ã¡ãžã£ãŒ ããªã·ãŒãåå©çšããããããScaffold
ãTabRow
ãBoxWithConstraints
ãªã©ã®æ¡ä»¶ä»ãã¹ãããã®ãªãSubcomposeLayout
ãµãã¿ã€ããããã©ã«ãã§å èªã¿ãšé£æºã§ããããã«ãªããŸãããïŒId84c8ïŒ - Android ãŠã£ã³ããŠçšã«äœæãããåã³ã³ããŒã¶ãŒã¯ã
ON_STOP
éç¥ãåä¿¡ãããšããã¹ãŠã®ã³ã³ããžã·ã§ã³ã§ã¯ãªãwithFrameNanos
ãžã®åŒã³åºãã®ã¿ããããã¯ããããã«ãªããŸããã€ãŸãã忢ããã¢ã¯ãã£ããã£ã«é¢é£ä»ãããããŠã£ã³ããŠã¯ãããŒã¿å€æŽã®ããã«åã³ã³ããŒãºãç¶ããŸãããã¢ãã¡ãŒã·ã§ã³ãwithFrameNanos
ã®ä»ã®åŒã³åºãå ã¯ãããã¯ãããŸããïŒId9e7fãb/240975572ïŒ motionEventSpy
ãå®å®çã«å€æŽããŸããïŒIc5ec4ãb/261560988ïŒ- å
Ž
TextRange.constrain
ã¡ãœããã远å ããŸãããïŒI97912ïŒ - ããããããŒããã®äºææ§ API ã䜿çšããŠ
includeFontPadding
èšå®ãåãæ¿ãããã¹ãã§ããããã«ãPlatformTextStyle.includeFontPadding
ã¯éæšå¥šã§ã¯ãªããªããŸãããïŒI98e96ãb/277703184ïŒ
ããŒãžã§ã³ 1.5.0-alpha02
2023 幎 4 æ 5 æ¥
androidx.compose.ui:ui-*:1.5.0-alpha02
ããªãªãŒã¹ãããŸãããããŒãžã§ã³ 1.5.0-alpha02 ã«å«ãŸãã commit ã«ã€ããŠã¯ããã¡ããã芧ãã ããã
API ã®å€æŽ
- ã«ãã¯ã¢ããã ããŒã¹ã®ã¢ãã¡ãŒã·ã§ã³äžã«æž¬å®/ã¬ã€ã¢ãŠã ããžãã¯ãåŠçããããã®è¿œå ã®äžé枬å®ããªã·ãŒãåãåãæ°ãã
SubcomposeLayout
APIãïŒI017d3ïŒ - PointerInput ãé å»¶è©äŸ¡ã«ãªããããã©ãŒãã³ã¹åäžã®ããã« Modifier.Node ã䜿çšããããã«ãªããŸããïŒåäœã®å°ããªå€æŽã«ã€ããŠèªãïŒãïŒ15dab9ïŒ
- ããŒã€ãã³ãã䜿çšããŠè©Šéšéçšçã® API ãå®å®çã«å€æŽããŸããïŒI9c7d8ãb/261566839ãb/261567368ïŒ
PointerInputChange
ã§è©Šéšéçšçã® API ãå®å®çã«å€æŽããŸããïŒI1b543ãb/261560988ãb/261565762ãb/261565749ïŒ- ããè€éãª
Modifier.Node
å®è£ ã®ããã«SuspendingPointerInputModifierNode
ãã€ã³ã¹ã¿ã³ã¹åããæ¹æ³ã远å ããŸãããïŒIc4933ïŒ AnnotatedString
å ã®UrlAnnotation
ãTalkBack
ãªã©ã®ãŠãŒã¶ãŒè£å©ãµãŒãã¹ã§éããããã«ãªããŸãããïŒIf4d82ãb/253292081ïŒ- ããŒããŠã§ã¢ ããŒããœãã ããŒããŒãã«éä¿¡ãããåã«ã€ã³ã¿ãŒã»ãããã API ã远å ããŸããïŒI4f4c6ãb/186800395ïŒ
- ããã¹ã ãã£ãŒã«ãçšã®
InsertTextAtCursor
ã»ãã³ãã£ã¯ã¹ ã¢ã¯ã·ã§ã³ã远å ããŸãããïŒI11ed5ïŒ - ããã¹ãé¢é£ã®ãã¹ã ã¢ã¯ã·ã§ã³ïŒ
performTextInput
ãªã©ïŒã¯ããã£ãŒã«ããã¯ãªãã¯ãã代ããã«ãã»ãã³ãã£ã¯ã¹ ã¢ã¯ã·ã§ã³ã䜿çšããŠãã©ãŒã«ã¹ãçŽæ¥ãªã¯ãšã¹ãããããã«ãªããŸãããïŒI6ed05ïŒ
ãã°ã®ä¿®æ£
- ããã¹ã ãã¹ã ã¢ã¯ã·ã§ã³ã§ããã¹ã ãã£ãŒã«ããæå¹ã«ããå¿ èŠãçããŸãããïŒIab328ïŒ
ããŒãžã§ã³ 1.5.0-alpha01
2023 幎 3 æ 22 æ¥
androidx.compose.ui:ui-*:1.5.0-alpha01
ããªãªãŒã¹ãããŸãããããŒãžã§ã³ 1.5.0-alpha01 ã«å«ãŸãã commit ã«ã€ããŠã¯ããã¡ããã芧ãã ããã
API ã®å€æŽ
- Modifier.intermediateLayout ã§æç€ºç㪠LookaheadScope ãäžèŠã«ãªããŸãããintermediateLayout ã® measure ãããã¯ã« IntermediateMeasureScope ãã¬ã·ãŒããšããŠè¿œå ãããŸãããããã«ããã䟿å©ãª CoroutineScopeãLookaheadScopeãMeasureScope ãæäŸãããŸããïŒIbe2e5ïŒ
- LookaheadLayout 㯠LookaheadScope ã«çœ®ãæããããLayout ã§ã¯ãªããªããŸãããããã«ãããLookaheadScope ã®åã³ã³ãã³ãã芪㮠MeasurePolicy ã§çŽæ¥å¶åŸ¡ã§ããŸããïŒIbe2e5ïŒ
- Modifier.Nodes ãã³ã«ãŒãã³ãèµ·åã§ããããã«
Modifier.Node#coroutineScope
ã远å ããŸãããïŒI76ef9ïŒ - CompositionLocalConsumerModifierNode ã€ã³ã¿ãŒãã§ãŒã¹ãå®è£ ããããšã§ãModifier.Nodes ã CompositionLocal ãèªã¿åããããã«ããŸããïŒIb44dfïŒ
- @Deprecated ã¯ã©ã¹ããããããã£ãžã®äŒæãïŒI882d1ïŒ
ããŒãžã§ã³ 1.4
ããŒãžã§ã³ 1.4.3
2023 幎 5 æ 3 æ¥
androidx.compose.ui:ui-*:1.4.3
ããªãªãŒã¹ãããŸãããããŒãžã§ã³ 1.4.3 ã«å«ãŸãã commit ã«ã€ããŠã¯ããã¡ããã芧ãã ããã
ãã°ã®ä¿®æ£
- ç¹å®ã® Modifier ãšãšãã«äœ¿çšããå Žåã«
AndroidView
ãæ£ããã¬ã€ã¢ãŠããããªãåé¡ãä¿®æ£ããŸãããïŒI4dc77ãb/274797771ïŒ DropDown
ã¡ãã¥ãŒã«åœ±é¿ãã 2D ãã©ãŒã«ã¹æ€çŽ¢ã®ãã°ãä¿®æ£ããŸããïŒb/276811828ïŒ- ã©ã ããæåã«åŒã³åºããããšãã«ã®ã¿ enter/exit ãããã¯ãå®è¡ããããã«ã¹ã¿ã ãã©ãŒã«ã¹ enter/exit ããããã£ã®ãã°ãä¿®æ£ããŸããïŒb/277234245ïŒã
focusProperties
ã®èªã¿åãäžã«ã¯ã©ãã·ã¥ãåŒãèµ·ãããã©ãŒã«ã¹ ã·ã¹ãã ã®ååž°ãä¿®æ£ããŸãããïŒb/271324781ãb/274897776ïŒ
ããŒãžã§ã³ 1.4.2
2023 幎 4 æ 19 æ¥
androidx.compose.ui:ui-*:1.4.2
ããªãªãŒã¹ãããŸãããããŒãžã§ã³ 1.4.2 ã«å«ãŸãã commit ã«ã€ããŠã¯ããã¡ããã芧ãã ããã
ãã°ã®ä¿®æ£
AndroidView
ã修食åãæ£ããåå©çšãããäºæããªãåäœãã¯ã©ãã·ã¥ãçºçããå¯èœæ§ãããåé¡ãä¿®æ£ããŸãããïŒIb67eeãb/275919849ïŒDialog
ã³ã³ããŒã¶ãã«ã§äœæãããŠããªããã€ã¢ãã°å ã®ããã¹ã ãã£ãŒã«ãã§ããŒããŒãã衚瀺ãããªãååž°ãä¿®æ£ããŸããïŒI82551ãb/262140644ïŒ
ããŒãžã§ã³ 1.4.1
2023 幎 4 æ 5 æ¥
androidx.compose.ui:ui-*:1.4.1
ããªãªãŒã¹ãããŸãããããŒãžã§ã³ 1.4.1 ã«å«ãŸãã commit ã«ã€ããŠã¯ããã¡ããã芧ãã ããã
ãã°ã®ä¿®æ£
ParentDataModifier
ãAndroidView
ã«åœ±é¿ããªãåé¡ãä¿®æ£ããŸããïŒb/274797771ïŒ
ããŒãžã§ã³ 1.4.0
2023 幎 3 æ 22 æ¥
androidx.compose.ui:ui-*:1.4.0
ããªãªãŒã¹ãããŸãããããŒãžã§ã³ 1.4.0 ã«å«ãŸãã commit ã«ã€ããŠã¯ããã¡ããã芧ãã ããã
1.3.0 以éã®éèŠãªå€æŽ
- Lazy ãªã¹ãã®ã¢ã€ãã ãåºå®ã§ããæ°ãã
PinnableContainer
ã远å ãããããã®ã¢ã€ãã ãå¢çã®å€ã«ã¹ã¯ããŒã«ããããšãã«å»æ£ãããªãããã«ããŸãããããšãã°ãModifier.focusable()
ã¯ãã®ã¡ã«ããºã ã䜿ã£ãŠçŸåšãã©ãŒã«ã¹ã®ããã¢ã€ãã ãåºå®ããŸããïŒIb8881ãb/259274257ãb/195049010ïŒ - ãã©ãŒã«ã¹ ã·ã¹ãã ãæ°ãã詊éšéçšç
Modifier.Node
API ã䜿çšããŠæžãæããããŸãããïŒI7f4d7ãb/247708726ãb/255352203ãb/253043481ãb/247716483ãb/254529934ãb/251840112ãb/251859987ãb/257141589ïŒ - Surface ã«
IsContainer
ã»ãã³ãã£ã¯ã¹ ããããã£ã远å ããŸãããåŸã§å€æŽããéã«ãã®ããããã£ã䜿ã£ãŠããµãŒãã§ã¹ãªã©èŠçŽ ã®æå³è«çæå³ã«åºã¥ããŠç§»åé åºã決å®ããŸããïŒI63379ïŒ - æ°ãããŠãŒã¶ãŒè£å©ããŒã«
DropdownList
ã远å ããŸãããããã䜿ã£ãŠandroid.widget.Spinner
ããã©ãŒã«ã¹ããéã«TalkBack
ã®åäœãè€è£œã§ããŸããïŒI177e5ãb/236159001ïŒ PlatformTextStyle(emojiSupportMatch)
ã䜿çšããŠãå¿ èŠã«å¿ããŠåäžã® Paragraph ã«å¯ŸãçµµæåãµããŒãåŠçãç¡å¹ã«ã§ããããã«ãªããŸãããïŒIa7100ãb/139326806ïŒ- Android Compose UI ãã¹ããããã¬ãŒã ãïŒ
waitForIdle
ãªã©ãä»ããŠïŒã¢ã€ãã«ç¶æ ã«ãããããã¬ãŒã ã®å®è¡æã«ãã¬ãŒã ããšã«ã¬ã€ã¢ãŠããã¹ãå®è¡ããããã«ãªããŸããããã®å€æŽã¯ãã¬ã€ã¢ãŠã ã¢ãã¡ãŒã·ã§ã³ã®åã ã®ãã¬ãŒã ã§ã¢ãµãŒããããã¹ãã«åœ±é¿ããå¯èœæ§ããããŸããïŒI8ea08ãb/222093277ïŒ - Text ã
Static(default)
ãŸã㯠Animated ã®ããããã«å®çŸ©ããããã«è©Šéšéçšçã®TextMotion
ãTextStyle
ã«è¿œå ããŸãããã¢ãã¡ãŒã·ã§ã³ã䜿ã£ãŠ Text ãæ¡å€§çž®å°ã倿ãå転ããå Žåã¯TextMotion.Animated
ã䜿çšããŸããïŒI24dd7ïŒ
ããŒãžã§ã³ 1.4.0-rc01
2023 幎 3 æ 8 æ¥
androidx.compose.ui:ui-*:1.4.0-rc01
ããªãªãŒã¹ãããŸãããããŒãžã§ã³ 1.4.0-rc01 ã«å«ãŸãã commit ã«ã€ããŠã¯ããã¡ããã芧ãã ããã
API ã®å€æŽ
onReset
ãã©ã¡ãŒã¿ãåãåãAndroidView
ã³ã³ããŒã¶ãã«é¢æ°ã®ãªãŒããŒããŒãã远å ããŸãããããã«ãããã³ã³ããžã·ã§ã³å ã®ããŒããç Žæ£ãããäºææ§ã®ããæ¹æ³ã§åå©çšããããšãã«ãView ã€ã³ã¹ã¿ã³ã¹ãåå©çšã§ããŸããããã¯ãView ã®LazyRows
ãšLazyColumns
ã«ç¹ã«åœ¹ç«ã¡ãŸããïŒI3f10dãb/230099236ïŒ- ãã©ãããã©ãŒã API ãšçŽæ¥ããåãããã«ã¹ã¿ã ããã¹ãå
¥åå®è£
ãæ§ç¯ããããã®æ°ããããŒã¬ãã«
PlatformTextInputAdapter
API ãå°å ¥ããŸãããïŒI58df4ïŒ
ãã°ã®ä¿®æ£
BasicTextField
ã®SetText
ã»ãã³ãã£ã¯ã¹ ã¢ã¯ã·ã§ã³ã¯ãIME ã®æŽæ°ããã¹ã颿°ïŒperformTextReplacement
ãªã©ïŒãšåãã³ãŒããã¹ã䜿çšããŠããã¹ã ãããã¡ãæŽæ°ããããã«ãªããŸãã- ããã¹ã ãã¹ã颿°
performTextClearance
ãperformTextReplacement
ãperformTextSelection
ã§SemanticsActions
ã䜿çšãããããã«ãªããŸãããïŒI0807dãb/269633168ãb/269624358ïŒ
ããŒãžã§ã³ 1.4.0-beta02
2023 幎 2 æ 22 æ¥
androidx.compose.ui:ui-*:1.4.0-beta02
ããªãªãŒã¹ãããŸãããããŒãžã§ã³ 1.4.0-beta02 ã«å«ãŸãã commit ã«ã€ããŠã¯ããã¡ããã芧ãã ããã
API ã®å€æŽ
modifierElementOf()
API ãåé€ããŸããã代ããã«ModifierNodeElement
ããçŽæ¥æ¡åŒµããŠãã ãããïŒI2256bïŒ- æ°ãã
Modifier.Node.onReset()
ã³ãŒã«ããã¯ã远å ããŸãããããã«ãããäžéšã®ããŒã«ã«ã®ç¶æ ããªã»ããããLayout
ãåå©çšãããå Žåã®ã±ãŒã¹ïŒLazyColumn
ã®ã¢ã€ãã ãªã©ïŒãé©åã«åŠçã§ããããã«ãªããŸãããFocusTargetModifierNode
ãä¿®æ£ãããã©ãŒã«ã¹ãããç¶æ ãé©åã«ãªã»ããã§ããããã«ããŸãããïŒI65495ãb/265201972ïŒ DrawScope.drawText
ãParagraph.paint
ãMultiParagraph.paint
ã®ã¡ãœããã«BlendMode
ãã©ã¡ãŒã¿ã远å ããCanvas ã«ããã¹ããæç»ããéã®ããŸããŸãªãã¬ã³ã ã¢ã«ãŽãªãºã ããµããŒãããŸãããïŒI57508ïŒ
ãã°ã®ä¿®æ£
- ã¢ã¯ã»ã·ããªãã£ã®ãã©ãŒã«ã¹é åºã¢ã«ãŽãªãºã ãæ¹åãããŸãããããšãã°ãäžéšããŒãšäžéšããŒãããããæåãšæåŸã«èªã¿åãããããšãå€ããªããŸããïŒ74e9c5ïŒ
ããŒãžã§ã³ 1.4.0-beta01
2023 幎 2 æ 8 æ¥
androidx.compose.ui:ui-*:1.4.0-beta01
ããªãªãŒã¹ãããŸãããããŒãžã§ã³ 1.4.0-beta01 ã«å«ãŸãã commit ã«ã€ããŠã¯ããã¡ããã芧ãã ããã
API ã®å€æŽ
PinnableContainer.PinnedHandle.unpin()
ãrelease()
ã«å€æŽããŸãããïŒI4667aïŒwaitUntilNodeCount
ãwaitUntilAtLeastOneExists
ãwaitUntilExactlyOneExists
ãwaitUntilDoesNotExist
ã詊éšéçšç API ãšããŠComposeTestRule
ã«è¿œå ãããããã£ãŒãšããŒãã®æ°ãåãåãããã«waitUntil
API ãæ¡åŒµããŸããã詳ããã¯ãComposeTestRule
ãã芧ãã ãããïŒIfa1b9ãb/226934294ïŒFont.MaximumAsyncTimeout
ãFont.MaximumAsyncTimeoutMillis
ã«å€æŽããŸãããïŒI07af5ïŒGoogleFont.Provider.AllFontsListUri
ãåé€ãã代ããã« ktdoc ã§ãªã³ã¯ããŸãããïŒI16f29ïŒ
ãã°ã®ä¿®æ£
AndroidFont.fontVariationSettings
ã®ããã¥ã¡ã³ãã远å ããŸãããïŒI7d9e2ïŒ
ããŒãžã§ã³ 1.4.0-alpha05
2023 幎 1 æ 25 æ¥
androidx.compose.ui:ui-*:1.4.0-alpha05
ããªãªãŒã¹ãããŸãããããŒãžã§ã³ 1.4.0-alpha05 ã«å«ãŸãã commit ã«ã€ããŠã¯ããã¡ããã芧ãã ããã
API ã®å€æŽ
CoroutineContext
ãã©ã¡ãŒã¿ãåãå ¥ããrunComposeUiTest
颿°ãšcreate*ComposeRule
颿°ã«æ°ãã詊éšéçšçã®ãªãŒããŒããŒããå°å ¥ããŸãããã³ã³ããã¹ãã¯ããã¹ã ã³ã³ããžã·ã§ã³ãšããã®ã³ã³ããžã·ã§ã³å ã®ãã¹ãŠã®LaunchedEffect
ãšrememberCoroutineScope()
ã®åŒã³åºãã§äœ¿çšãããŸãïŒI10614ãb/265177763ïŒ- 1 次å ã®é床ã远跡ããæ°ãã API ã远å ããŸãããïŒIf5a82ïŒ
FocusRequester
ã@Stable
ãšããŠããŒã¯ãããããã«ãªããŸãããïŒI580eeïŒusePlatformDefaultWidth
ãã©ã¡ãŒã¿ãåãåãDialogProperties
ã³ã³ã¹ãã©ã¯ã¿ãã詊éšéçšçã®ã¢ãããŒã·ã§ã³ãåé€ããŸãããïŒIc4048ïŒ- ãã¹äžã®è·é¢ã«å¯Ÿããäœçœ®ãšæ¥ç·ãèšç®ããæ©èœãšããŠã
PathMeasure.getPosition()
ãšPathMeasure.getTangent()
ã远å ããŸãããïŒI3b47cïŒ PlatformParagraphStyle
ã«å¯ŸããŠèª€ã£ãŠå ¬éãããã»ãã¿ãŒãåé€ããŸãããïŒI07f47ïŒ- ã€ã³ã©ã€ã³é¢æ°ãŸãã¯éæšå¥šã«ãªã£ãéè¡šç€ºé¢æ°ã®åã null å¯èœæ§ãæ¡å€§ããŸãããïŒI24f91ïŒ
- å²ãåœãŠããŒãã§ãã¢ãããŒã·ã§ã³ã®ã¯ãšãªãè¡ã
AnnotatedString.hasStringAnnotations
ã远å ããŸãããïŒI94dfeãb/246960758ïŒ String
ãããã¹ããšããŠåãåãTextMeasurer.measure
颿°ã«æ°ãããªãŒããŒããŒãã远å ããŸãããïŒI47b2dãb/242705342ïŒ- TextStyle ã®
LineBreak
API ãšHyphens
API ãå®å®çã«ç§»è¡ããŸãããïŒIc1e1dïŒ
å€éšããã®åå
TextInputSession
ãšTextInputService
ã®notifyFocusedRect
ã¡ãœããã¯ãåã³ãµããŒããããããã«ãªããŸããïŒI23a04ãb/262648050ïŒ
ããŒãžã§ã³ 1.4.0-alpha04
2023 幎 1 æ 11 æ¥
androidx.compose.ui:ui-*:1.4.0-alpha04
ããªãªãŒã¹ãããŸãããããŒãžã§ã³ 1.4.0-alpha04 ã«å«ãŸãã commit ã«ã€ããŠã¯ããã¡ããã芧ãã ããã
æ°æ©èœ
- Lazy ãªã¹ãã®ã¢ã€ãã ãåºå®ã§ããæ°ãã
PinnableContainer
ã远å ãããããã®ã¢ã€ãã ãå¢çã®å€ã«ã¹ã¯ããŒã«ããããšãã«å»æ£ãããªãããã«ããŸãããããšãã°ãModifier.focusable()
ã¯ãã®ã¡ã«ããºã ã䜿ã£ãŠçŸåšãã©ãŒã«ã¹ã®ããã¢ã€ãã ãåºå®ããŸããïŒIb8881ãb/259274257ãb/195049010ïŒ - ãã©ãŒã«ã¹ ã·ã¹ãã ãæ°ãã詊éšéçšç
Modifier.Node
API ã䜿çšããŠæžãæããããŸãããïŒI7f4d7ãb/247708726ãb/255352203ãb/253043481ãb/247716483ãb/254529934ãb/251840112ãb/251859987ãb/257141589ïŒ - Surface ã«
IsContainer
ã»ãã³ãã£ã¯ã¹ ããããã£ã远å ããŸãããåŸã§å€æŽããéã«ãã®ããããã£ã䜿ã£ãŠããµãŒãã§ã¹ãªã©èŠçŽ ã®æå³è«çæå³ã«åºã¥ããŠç§»åé åºã決å®ããŸããïŒI63379ïŒ - æ°ãããŠãŒã¶ãŒè£å©ããŒã«
DropdownList
ã远å ããŸãããããã䜿ã£ãŠandroid.widget.Spinner
ããã©ãŒã«ã¹ããéã«TalkBack's
ã®åäœãè€è£œã§ããŸããïŒI177e5ãb/236159001ïŒ PlatformTextStyle(emojiSupportMatch)
ã䜿çšããŠãå¿ èŠã«å¿ããŠåäžã® Paragraph ã«å¯ŸãçµµæåãµããŒãåŠçãç¡å¹ã«ã§ããããã«ãªããŸãããïŒIa7100ãb/139326806ïŒ- Android Compose UI ãã¹ããããã¬ãŒã ãïŒ
waitForIdle
ãªã©ãä»ããŠïŒã¢ã€ãã«ç¶æ ã«ãããããã¬ãŒã ã®å®è¡æã«ãã¬ãŒã ããšã«ã¬ã€ã¢ãŠããã¹ãå®è¡ããããã«ãªããŸããããã®å€æŽã¯ãã¬ã€ã¢ãŠã ã¢ãã¡ãŒã·ã§ã³ã®åã ã®ãã¬ãŒã ã§ã¢ãµãŒããããã¹ãã«åœ±é¿ããå¯èœæ§ããããŸããïŒI8ea08ãb/222093277ïŒ - Text ã
Static(default)
ãŸã㯠Animated ã®ããããã«å®çŸ©ããããã«è©Šéšéçšçã®TextMotion
ãTextStyle
ã«è¿œå ããŸãããã¢ãã¡ãŒã·ã§ã³ã䜿ã£ãŠ Text ãæ¡å€§çž®å°ã倿ãå転ããå Žåã¯TextMotion.Animated
ã䜿çšããŸããïŒI24dd7ïŒ
API ã®å€æŽ
- ä»ã®
DrawScope
颿°ã«åãããŠdrawText
å ã®maxSize: IntSize
åŒæ°ãsize: Size
ã«çœ®ãæããŸãããsize
ã¯ä»¥åã®ããã©ã«ãåäœã倿Žããªãããããã©ã«ãã§Size.Unspecified
ã«èšå®ãããŸããïŒIcd27dïŒ - éæšå¥šã®è©Šéšéçšçãã©ã³ã ã³ã³ã¹ãã©ã¯ã¿ãåé€ããŸãããïŒI8a724ãb/261435386ïŒ
- ui tooling data ã¯ã©ã¹
Group
ã«ãã°ã«ãŒããã€ã³ã©ã€ã³ã®ã³ã³ããŒãºå¯èœãªé¢æ°åŒã³åºãã®å¯Ÿè±¡ãã©ããã瀺ããã£ãŒã«ãisInline
ã远å ãããŸãããisInline
ãtrue
ã®å ŽåãåŒã³åºãã¯ã€ã³ã©ã€ã³ã®ã³ã³ããŒãºå¯èœãªé¢æ°ã®åŒã³åºãã§ãããã ããã€ã³ã©ã€ã³ã®é¢æ°æ å ±ãçæããªãããŒãžã§ã³ã® Compose Compiler ãã©ã°ã€ã³ãšã³ã³ãã€ã«ãããã¢ãžã¥ãŒã«ããã®ã€ã³ã©ã€ã³ã®ã³ã³ããŒãºå¯èœãªé¢æ°åŒã³åºãã§ã¯å€ã false ã«ãªãããšããããŸãã ïŒIdb846ïŒ - 詊éšéçšçã§ãã£ãããã€ãã® API ãå®å®çã«ç§»è¡ããŸããã
- Rotary Scroll Event API ãå®å®çã«ãªããŸãããïŒI42ad3ãb/261561229ïŒ
FontVariation
API ãå®å®çã«ãªããŸãããïŒI8779fãb/241016309ïŒ- ãã¹ãŠã®
Font()
ã³ã³ã¹ãã©ã¯ã¿ãå®å®ç API ã«ãªããŸãããïŒI5948bãb/261435386ïŒ DeviceFontFamilyName
ãå®å®çã«ãªããŸãããïŒI8b640ãb/261435386ïŒvariationSettings
ãå«ãAndroidFont
ã³ã³ã¹ãã©ã¯ã¿ãå®å®ç API ã«ãªããããã䜿çšããŠæ°ããçš®é¡ã®ãã©ã³ãèšè¿°åãäœæã§ããããã«ãªããŸãããïŒI5adccãb/261565807ïŒcreateFontFamilyResolver
API ãå®å®çã«ãªããŸãããããã䜿çšããŠãéåæã®ãã©ã³ãèªã¿èŸŒã¿äžã«ãã£ãããããªãã£ãäŸå€ããã£ããã§ããŸããïŒIbb481ãb/261435386ïŒFont.loadingStrategy
API ãå®å®çã«ãªããŸãããïŒI5937cãb/261435386ïŒGoogleFont
API ãå®å®çã«ãªããŸãããïŒIc90b0ãb/261435386ïŒTextUnit(float, TextUnitType)
ãå®å®ç API ã«ãªããŸãããïŒI90c84ãb/261561612ïŒpluralStringResource
ãå®å®ç API ã«ãªããŸãããïŒI09849ãb/261439703ïŒ
ããŒãžã§ã³ 1.4.0-alpha03
2022 幎 12 æ 7 æ¥
androidx.compose.ui:ui-*:1.4.0-alpha03
ããªãªãŒã¹ãããŸãããããŒãžã§ã³ 1.4.0-alpha03 ã«å«ãŸãã commit ã«ã€ããŠã¯ããã¡ããã芧ãã ããã
API ã®å€æŽ
PointerIcon
ããExperimentalComposeUiApi
ãåé€ããŸãããïŒI23af8ïŒ- ããŒãžã®ãŠãŒã¶ãŒè£å©ã¢ã¯ã·ã§ã³
PageUp
ãPageDown
ãPageLeft
ãPageRight
ãå°å ¥ããŸãããããã㯠API 29 ããã®ã¿å©çšå¯èœã§ããïŒIda4abïŒ rememberNestedScrollConnection
ãã©ã¡ãŒã¿ ãã¥ãŒãã«ãŒããã¥ãŒãããã¹ããã¥ãŒã«æŽæ°ããŸãããïŒIa5200ïŒ- ç¥å ã®ã¹ã¯ããŒã«æ å ±ãã¯ãšãªããããã® Modifier API ã远å ããŸãããïŒI2ba9dãb/203141462ïŒ
- ãžã§ã¹ãã£ãŒãã¹ã¯ããŒã« ã€ãã³ãã«ãªãå¯èœæ§ãããå Žåã«ã¿ããæäœãæ£ããé
å»¶ãããããã«
Clickable
ã§äœ¿çšããŸãã Scrollable ViewGroup
å ã§äœ¿çšããå Žåã«Clickables
ããªããã«ãæ£ããé å»¶ããªãåé¡ãä¿®æ£ããŸããã- ãžã§ã¹ãã£ãŒãã¹ã¯ããŒã« ã€ãã³ãã«ãªãå¯èœæ§ãããå Žåã«ã¿ãããæ£ããé å»¶ããããã« Drawers ãš Sheets ãæŽæ°ããŸããã
graphicsLayer
ãäžéãããã¡ã«åžžã«ã¬ã³ããªã³ã°ãããããšã瀺ãããã«CompositingStrategy.Always
ã®ååãOffscreen
ã«å€æŽããŸãããïŒI47dc1ïŒ- è€æ°ã®ã³ã³ãã³ã ã¹ããããããã¬ã€ã¢ãŠãã®ãªãŒããŒããŒããå®å®ããããã«ãªããŸãããïŒI10566ãb/248294649ïŒ
- ãã¹ãã®äžç°ãšã㊠Perfetto ãã¬ãŒã¹ïŒã·ã¹ãã ãã¬ãŒã¹ïŒããã£ããã£ãããã¹ãã®åäœãšããã©ãŒãã³ã¹ãæ€æ»ããããã®è©Šéšéçšçã®æ°ãã API
PerfettoTrace.record {}
ãšPerfettoTraceRule
ã远å ããŸãããïŒI3ba16ïŒ - Compose ã«ãŒã«ã䜿çšãã UI ãã¹ãã§ã¯ã
withFrameNanos
ã³ãŒã«ããã¯äžã«åéãããç¶ç¶ã¯ããã¹ãŠã®ãã¬ãŒã ã³ãŒã«ããã¯ã®å®è¡ãçµäºãããŸã§ãã£ã¹ããããããŸãããããã¯ãæ£åžžã«å®è¡ãããŠãã Compose ã®åäœãšäžèŽããŸãããã ãã以åã®åäœã«äŸåãããã¹ãã¯å€±æããå¯èœæ§ããããŸããããã¯ãwithFrameNanos
ãŸãã¯withFrameMillis
ãçŽæ¥åŒã³åºããŠãã³ãŒã«ããã¯å ãžã®ç§»åãå¿ èŠã«ãªãå¯èœæ§ã®ãããããã颿°ã«æž¡ããããã³ãŒã«ããã¯å€ã®ããžãã¯ãæã€ã³ãŒãã«ã®ã¿åœ±é¿ããããŸããã¢ãã¡ãŒã·ã§ã³ã®ãã¹ãã®å€æŽã«ã€ããŠã¯ããã¡ãã® CL ã®äŸãã芧ãã ããã TestMonotonicFrameClock
ã³ã³ã¹ãã©ã¯ã¿ãšãã¡ã¯ããªé¢æ°ã«ãwithFrameNanos
ã³ãŒã«ããã¯ã®åŸãåŒã³åºãå ã®ã³ã«ãŒãã³ãåéããåã«ã³ãŒããå®è¡ããããã®ããªãã·ã§ã³ã®onPerformTraversals: (Long) -> Unit
ãã©ã¡ãŒã¿ã远å ããŸãããïŒIdb413ãb/254115946ãb/222093277ãb/255802670ïŒ- Compose ã« EmojiCompat ã远å ããŸãããïŒIbf6f9ãb/139326806ïŒ
- ãã€ããã㯠ã«ã©ãŒã®ãµããŒãã®ããã«
@Preview
ã«æ°ããå£çŽãã©ã¡ãŒã¿ã远å ããŸãããïŒI9f512ïŒ
ãã°ã®ä¿®æ£
Recomposer
ã倿Žã®é©çšãçµäºããåŸãã¹ãããã·ã§ããã®é©çšéç¥ãéä¿¡ãããããã«ãªããŸãããïŒIad6c0ãb/222093277ïŒ- ãã«ããŠã£ã³ããŠã®ã¹ã¯ãªãŒã³ã·ã§ããã®ãã£ããã£ãå¯èœã«ãããã
captureToImage
ã«å€æŽãå°å ¥ããŸãããããã¯ãCompose ã®ãããã¢ããã䜿çšããã¹ã¯ãªãŒã³ã·ã§ãã ãã¹ãã«åœ¹ç«ã¡ãŸããïŒI169c5ïŒ
äŸåé¢ä¿ã®æŽæ°
- Compose UI ãš Compose Material 㯠Lifecycle 2.5.1 ã«äŸåããããã«ãªããŸãããïŒI05ab0ãb/258038814ïŒ
ããŒãžã§ã³ 1.4.0-alpha02
2022 幎 11 æ 9 æ¥
androidx.compose.ui:ui-*:1.4.0-alpha02
ããªãªãŒã¹ãããŸãããããŒãžã§ã³ 1.4.0-alpha02 ã«å«ãŸãã commit ã«ã€ããŠã¯ããã¡ããã芧ãã ããã
API ã®å€æŽ
graphicsLayer
ã®çŸåšã®ãµã€ãºãå ¬éããããGraphicsLayerScope
ãæŽæ°ããŸãããããã¯ãã³ã³ããŒã¶ãã« ãµã€ãºã«å¿ããgraphicsLayer
倿ã®èšç®ã«åœ¹ç«ã¡ãŸããïŒIf8c43ãb/181387080ïŒgraphicsLayer
ã³ã³ãã³ãã®ã¬ã³ããªã³ã°ã«ç»é¢å€åæã¬ã€ã€ãå©çšããç¶æ³ã倿ããCompositingStrategy
ãå°å ¥ããŸãããAuto ã¯ãã¢ã«ãã¡ãé©çšãããå ŽåïŒãŸãã¯RenderEffect/Overscroll
ïŒã«ã¬ã€ã€ãå éšã§å©çšããããã©ã«ãã®åäœãç¶æããŸããAlways ã¯ãç»é¢å€ãããã¡ãåžžã«å°å ¥ããŸããModulateAlpha
ã¯ç»é¢å€ãããã¡ã®å©çšãåé¿ãã代ããã«graphicsLayer
å ã®èšé²ãããåæç»åœä»€ã調ç¯ããŸããModulateAlpha
ã䜿çšããŠããRenderEffect/Overscroll
ã䜿çšããŠããå Žåã¯ç»é¢å€ãããã¡ãå©çšãããŸããïŒI25e82ãb/256382834ïŒinvalidateSubtree()
ãModifier.Node
ã«è¿œå ããã¬ã€ã¢ãŠããšæç»ã®éå±€å šäœã®ç¡å¹åãå¯èœã«ããŸãããïŒI4bd90ïŒrememberNestedScrollInteropConnection
ãå®å®çã«ææ ŒããŸãããã«ãŒããã¥ãŒãrememberNestedScrollInteropConnection
ã«æž¡ãæ©èœãå°å ¥ããŸãããããã«ãããã«ã¹ã¿ã ãã¥ãŒã¯ãç¹ã«æšæºä»¥å€ã®ãã¥ãŒïŒModalBottomSheetDialog
ãªã©ïŒã§ãã¹ã¯ããŒã«ã®å¶çŽã«é©åã«å¯Ÿå¿ã§ããããã«ãªããŸããïŒI9e107ïŒ- 以åèªã¿åã£ãå€ã倿Žãããå Žåã«éç¥ãåããå¿
èŠããã
Modifier.Node
ã®å®è£ ã§äœ¿çšã§ããObserverNode
ã€ã³ã¿ãŒãã§ãŒã¹ã远å ããŸãããïŒI5728bãb/247716483ïŒ Paint
ã«ããã€ãã£ãã®android.graphics.Paint
ãåãåãæ°ããã³ã³ã¹ãã©ã¯ã¿ã远å ããŸããããŸããæ¢åã®ãã€ãã£ãã® Paint ãªããžã§ã¯ãã Compose Paint ã«å€æããæ¡åŒµé¢æ°toComposePaint()
ã远å ããŸãããïŒIca91bïŒ- Android ã§äœ¿çšããæ°ãã
FontFamily.Resolver.resolveAsTypeface
ã远å ããŸãããïŒI8950bïŒ - ã³ã³ããŒã¶ãã«ã®å
éšç¶æ
ã倿ŽããããŒã«ãå©çšã§ãããã
ToolingState
ã远å ããŸãããïŒIe6614ïŒ - æ°ãã«è¿œå ãããã¢ãã¡ãŒã·ã§ã³ãé©åã«ãµããŒãããããããŒã«ããªãã¡ã¯ã¿ãªã³ã°ããŸãããïŒI8677bïŒ
- material ãš material3 ã® Textã
TextField
ãšOutlinedTextField
ã«minLines
ãã©ã¡ãŒã¿ã远å ããè¡æ°ã®ç¹ã§ã³ã³ããŒãã³ãã®æå°é«ããèšå®ã§ããããã«ããŸãããïŒI4af1dïŒ
ããŒãžã§ã³ 1.4.0-alpha01
2022 幎 10 æ 24 æ¥
androidx.compose.ui:ui-*:1.4.0-alpha01
ããªãªãŒã¹ãããŸãããããŒãžã§ã³ 1.4.0-alpha01 ã«å«ãŸãã commit ã«ã€ããŠã¯ããã¡ããã芧ãã ããã
API ã®å€æŽ
- ãžã§ã¹ãã£ãŒæ€åºåšã®æ°ããã¡ãœãã
awaitEachGesture()
ã远å ãããŸãããããã¯forEachGesture()
ãšåãããã«åäœããŸããããžã§ã¹ãã£ãŒã®ã«ãŒãã¯AwaitPointerEventScope
å ã§å®å šã«åäœãããããå埩åŠçéã§ã€ãã³ãã倱ãããããšã¯ãããŸããã - ãžã§ã¹ãã£ãŒéã§ã€ãã³ãã倱ãããŠããŸãããã
forEachGesture()
ãéæšå¥šã«ãªããawaitEachGesture()
ã«çœ®ãæããããŸãããïŒIffc3fãb/251260206ïŒ - androidx ã§ã®ãŠãŒã¶ãŒè£å©ãªããžã§ã¯ãã®ãªãµã€ã¯ã«ã®ãµããŒããçµäºããŸãããæãå€ããµããŒã察象ã®ããŒãžã§ã³ã§ããããã©ãŒãã³ã¹ã®å€åã¯ã»ãšãã©ç¡èŠã§ããããšãããããŸãããïŒI0a961ïŒ
- æ ç·ä»ãããã¹ããæç»ã§ããããã«ã
DrawStyle
ãTextStyle
ãšSpanStyle
ã®è©Šéšéçšç屿§ãšããŠè¿œå ããŸãããïŒIf24b8ãb/155421273ïŒ AnnotatedString.Builder
ã«kotlin.text.Appendable
ãå®è£ ãããŸãããïŒI1a061ãb/231030444ïŒAnnotatedString.Builder
ã«AnnotatedString
ã®éšåæååã亀差ããã¹ã¿ã€ã«ã远å ããappend(AnnotatedString, start: Int, end: Int)
ã¡ãœããã远å ãããŸããã- æ ç·ä»ãããã¹ããæç»ã§ãã
DrawStyle
ãã©ã¡ãŒã¿ãParagraph
ããã³MultiParagraph
ãã€ã³ã颿°ã«è¿œå ããŸãããïŒIc8102ãb/155421273ïŒ
å€éšããã®åå
- TV ããã€ã¹ã®ãã¬ãã¥ãŒãžã®è¿œå ã«ååããŠãã ãã£ã
vighnesh
æ°ã«æè¬ããããŸãïŒIe15cdïŒ
ããŒãžã§ã³ 1.3
ããŒãžã§ã³ 1.3.3
2023 幎 1 æ 11 æ¥
androidx.compose.ui:ui-*:1.3.3
ããªãªãŒã¹ãããŸãããããŒãžã§ã³ 1.3.3 ã«å«ãŸãã commit ã«ã€ããŠã¯ããã¡ããã芧ãã ããã
ãã°ã®ä¿®æ£
- Activity ã Compose View ã®ç¶æ ãä¿åããŠãããšãã« Android 9 ã§çºçããããšãããã¯ã©ãã·ã¥ã®åé¡ãä¿®æ£ããŸãããïŒI0b755ãb/260322832ïŒ
ããŒãžã§ã³ 1.3.2
2022 幎 12 æ 7 æ¥
androidx.compose.ui:ui-*:1.3.2
ããªãªãŒã¹ãããŸãããããŒãžã§ã³ 1.3.2 ã«å«ãŸãã commit ã«ã€ããŠã¯ããã¡ããã芧ãã ããã
ãã°ã®ä¿®æ£
- Profobuf 3.21.8 ã䜿çšããããæŽæ°ããŸãããããã«ããã
protobuf-javalite:3.19.4
ïŒCVE-2022-3171ïŒã§ã»ãã¥ãªãã£éç¥ãåé¿ãããŸããïŒb/255545055ïŒ
ããŒãžã§ã³ 1.3.1
2022 幎 11 æ 9 æ¥
androidx.compose.ui:ui-*:1.3.1
ããªãªãŒã¹ãããŸãããããŒãžã§ã³ 1.3.1 ã«å«ãŸãã commit ã«ã€ããŠã¯ããã¡ããã芧ãã ããã
ããŒãžã§ã³ 1.3.0
2022 幎 10 æ 24 æ¥
androidx.compose.ui:ui-*:1.3.0
ããªãªãŒã¹ãããŸãããããŒãžã§ã³ 1.3.0 ã«å«ãŸãã commit ã«ã€ããŠã¯ããã¡ããã芧ãã ããã
1.2.0 以éã®éèŠãªå€æŽ
- æ°ãã詊éšéçšç API ã¹ã€ãŒã
LookaheadLayout
ïŒãããŸã§äžå¯èœã ã£ãã¢ãã¡ãŒã·ã§ã³åäœã«å¯Ÿå¿ïŒ - æ°ãã詊éšéçšç API ã¹ã€ãŒã
Modifier.Node
ïŒModifier.composed
ã«ä»£ããé«ããã©ãŒãã³ã¹ïŒ - ãŠã£ã³ã㊠ã€ã³ã»ããã®ãµããŒããæ¹åããŸããã
- LazyList ã® D-padãããŒããŠã§ã¢ ããŒããŒãã®ãµããŒãã«çŠç¹ãåœãŠãŸããã
- ãã€ã¢ãã°ãšãããã¢ããã§ãµããŒããããæå€§ãšã¬ããŒã·ã§ã³ãæžã£ãŠ 8 dp ã«ãªããŸããïŒã«ã¹ã¿ãã€ãºãããäžéšã®ãã¶ã€ã³ ã·ã¹ãã ã®äºææ§ãç Žãåäœå€æŽ - beta01 ãªãªãŒã¹ããŒãã®æ ¹æ ïŒ
- å€ãã®ãäºææ§ãç Žããªã API ã®è»œåŸ®ãªæ¹å
- å€ãã®ãã°ã®ä¿®æ£ãšããã©ãŒãã³ã¹ã®æ¹å
ããŒãžã§ã³ 1.3.0-rc01
2022 幎 10 æ 5 æ¥
androidx.compose.ui:ui-*:1.3.0-rc01
ããªãªãŒã¹ãããŸãããããŒãžã§ã³ 1.3.0-rc01 ã«å«ãŸãã commit ã«ã€ããŠã¯ããã¡ããã芧ãã ããã
API ã®å€æŽ
- ããã¹ãã§èªåãã€ãããŒã·ã§ã³ããµããŒããããHyphens ãšããæ°ãã詊éšéçšç API ã远å ããŸããïŒIaa869ïŒ
ãã°ã®ä¿®æ£
DeviceFontFamilyName
ãã©ã³ãã¯ããã©ã«ãã§wght
ãšital
ã®ããªãšãŒã·ã§ã³èšå®ãæ§æãããèªã¿èŸŒãŸããTypeface
ã«ãã©ãããã©ãŒã èšå®ã䜿çšããŸããïŒIa7a6dãb/246989332ïŒ- 修食åãåå©çšããããšãã«
onModifierLocalsUpdated
ãããã©ã«ãå€ã§åŒã³åºãããªãã£ããLazyColumn
ã®ã¡ã¢ãªãªãŒã¯ãä¿®æ£ããŸããïŒb/230168389ïŒ
ããŒãžã§ã³ 1.3.0-beta03
2022 幎 9 æ 21 æ¥
androidx.compose.ui:ui-*:1.3.0-beta03
ããªãªãŒã¹ãããŸãããããŒãžã§ã³ 1.3.0-beta03 ã«å«ãŸãã commit ã«ã€ããŠã¯ããã¡ããã芧ãã ããã
API ã®å€æŽ
- Text ã®æ¹è¡ãã«ã¹ã¿ãã€ãºãããªãã·ã§ã³ã远å ããŸãããïŒI86907ïŒ
- æå°å¹
ã®å¶çŽããµããŒãããããã
TextMeasurer.measure
ã¡ãœããã®size:IntSize
åŒæ°ãconstraints: Constraints
ã«å€æŽããŸãããïŒI37530ãb/242707525ïŒ
ãã°ã®ä¿®æ£
- AndroidX ã¢ã¯ãã£ããã£ã®
BackHandler
API ãDialog
ã³ã³ããŒã¶ãã«å ã§åäœããããã«ãªããŸãããïŒI35342ïŒ
ããŒãžã§ã³ 1.3.0-beta02
2022 幎 9 æ 7 æ¥
androidx.compose.ui:ui-*:1.3.0-beta02
ããªãªãŒã¹ãããŸãããããŒãžã§ã³ 1.3.0-beta02 ã«å«ãŸãã commit ã«ã€ããŠã¯ããã¡ããã芧ãã ããã
API ã®å€æŽ
- è€æ°ã®ã³ã³ããŒãºå¯èœãªã³ã³ãã³ã ã©ã ãã®ãªã¹ããåãå ¥ãããLayout ã®è©ŠéšéçšçãªãŒããŒããŒãã远å ããŸãããããã«ãããç°ãªãã³ã³ãã³ã ã©ã ãã«æ¿å ¥ãããæž¬å®å¯èœãªèŠçŽ ãç°ãªãæ¹æ³ã§åŠçã§ããŸããïŒIc1b4eïŒ
詊éšéçšç Focus API ã«é¢ãã倿Ž:
FocusDirection.In
ãšFocusDirection.Out
ãéæšå¥šãšããFocusDirection.Enter
ãšFocusDirection.Exit
ã«çœ®ãæããŸãããïŒIa4262ãb/183746982ïŒFocusManager.moveFocus(Enter)
ãšFocusManager.moveFocus(Exit)
ã®ã«ã¹ã¿ã åäœãæå®ããããã« 2 ã€ã®æ°ãããã©ãŒã«ã¹ ãããã㣠enter ãš exit ã远å ããŸãããïŒI5f3f9ãb/183746982ïŒFocusRequester.Cancel
ã䜿çšããŠãã©ãŒã«ã¹ã®ç§»åããã£ã³ã»ã«ã§ããããã«ãªããŸãããFocusRequester.Cancel
ã¯ããã©ãŒã«ã¹ ãããã㣠upãdownãleftãrightãnextãpreviousãstartãendãenterãexitãã®ãããã§ã䜿çšã§ããŸããïŒIb300fïŒ
ããŒãžã§ã³ 1.3.0-beta01
2022 幎 8 æ 24 æ¥
androidx.compose.ui:ui-*:1.3.0-beta01
ããªãªãŒã¹ãããŸãããããŒãžã§ã³ 1.3.0-beta01 ã«å«ãŸãã commit ã«ã€ããŠã¯ããã¡ããã芧ãã ããã
修食åããŒãã®ãªãã¡ã¯ã¿ãªã³ã°
Modifier/Modifier.Element
ã€ã³ã¹ã¿ã³ã¹ãåŠçã㊠LayoutNodes
ã§ã®åäœã調æŽããã¬ã€ã€ãã倧å¹
ã«ãªãã¡ã¯ã¿ãªã³ã°ãããŸãããçŸç¶ã§ã¯ããã®ãªãã¡ã¯ã¿ãªã³ã°ã¯ãCompose ã®å€ãã®ä¿®é£Ÿåã®ãããã«ã€ããŠãå
¬é API ã«ã¯åœ±é¿ããŠããªããããå®è£
ã®ã¿ã®å€æŽãšããããŸããããã§ããã®å€æŽã¯ãããŸããŸãªçç±ããéèŠãªãã®ãšãªã£ãŠããŸããïŒIe4313ïŒ
倿Žã®æŠèŠ
远å ããã詊éšéçšçã® Modifier.Node
API ã§å¯èœãšãªãæœè±¡åã«ãããã¬ã€ã¢ãŠã ããŒãã®ã©ã€ããµã€ã¯ã«ã§ä¿æãããã€ã³ã¹ã¿ã³ã¹ããã®ã€ã³ã¹ã¿ã³ã¹ãçæãã察å¿ãã Modifier.Element
ã®äœ¿çšããšãã¬ã€ã¢ãŠã ããŒãããšã«å²ãåœãŠãããã€ã³ã¹ã¿ã³ã¹ã§ãç¶æ
ãç¶æã§ããŸãã
倧ãŸãã«èšããšããã®æœè±¡åã¯ãModifier.composed
API ã®ä»çµã¿ã«äŸåããã«ã¹ããŒããã«ä¿®é£Ÿåãçæãã代æ¿ã¡ã«ããºã ãšãªããŸãã
ãªã¹ã¯
ãã®å€æŽã¯ã以åã®ãªãªãŒã¹ãšå³å¯ã«ãã€ããªäºææ§ããããç®ã«èŠããåäœã«é¢ããŠå®çšçãã€åŠ¥åœãªç¯å²ã§äžäœäºææ§ãæã€ããšãç®çãšããŠããŸãããšã¯èšãããã®ãªãã¡ã¯ã¿ãªã³ã°ã圱é¿ããŠããªã Compose ã®ãµãã·ã¹ãã ã¯ã»ãšãã©ãªããããGoogle ã®ãã¹ãã§ææ¡ã§ããŠããªãéšåãããŸã æ€åºãä¿®æ£ããããŠããªããããªåœ¢ã§ãåäœã«å€åãçããŠããå¯èœæ§ããããŸãã
ãã®ãªãªãŒã¹ã«ã¢ããã°ã¬ãŒãããéã¯ãååã«ã泚æãã ããããªãããã®äžå ·åãçãããšæãããå Žåã«ã¯ãGoogle ãŸã§ãç¥ãããã ããã
詊éšéçšçã® API
ããŸããŸãªè©Šéšéçšçã® API ã远å ãããŸãããããããã修食åããŒãããšããæ°ããã³ã³ã»ããã«é¢é£ãããã®ã§ããModifier.Node ã¯äžèšã®çµæãšããŠäœæãããŸãã
fun modifierElementOf(âŠ): Modifier
abstract class ModifierNodeElement
abstract class Modifier.Node
abstract class DelegatingNode
interface LayoutModifierNode
interface DrawModifierNode
interface SemanticsNode
interface PointerInputNode
interface ModifierLocalNode
interface ParentDataModifierNode
interface LayoutAwareModifierNode
interface GlobalPositionAwareModifierNode
interface IntermediateLayoutModifierNode
äºææ§ãç Žãåäœå€æŽ
ãã€ã¢ãã°ãšãããã¢ããã§ãµããŒããããæå€§ãšã¬ããŒã·ã§ã³ãæžã£ãŠ 8 dp ã«ãªããŸããã
Compose ã®ãã€ã¢ãã°ãšãããã¢ããã«æå®ã§ãããšã¬ããŒã·ã§ã³ã®æå€§å€ãã30 dp ãã 8 dp ã«åŒãäžããããŸããããã®å€æŽã¯ããããªã¢ã«ãš UI ã®ã«ã¹ã¿ã ãã€ã¢ãã°ãšã«ã¹ã¿ã ãããã¢ããã®äž¡æ¹ã«åœ±é¿ããŸãããã®å€æŽã®ç®çã¯ãAndroid S ããåã®ããŒãžã§ã³ã«ããããŠãŒã¶ãŒè£å©æ©èœã®ãã°ã軜æžããåãŠã£ã³ããŠå ã§ãŠãŒã¶ãŒè£å©ãµãŒãã¹ã«ãããã€ã¢ãã°å ããããã¢ããå ã®ã³ã³ãã³ããæäœã§ããããã«ããããšã§ãã
ãã®å€æŽã«ãã圱é¿ãçããã®ã¯ããã€ã¢ãã°ããããã¢ããã®ã«ã¹ã¿ã å®è£ ãäœæããéã«ãšã¬ããŒã·ã§ã³ã 8 dp ããé«ãèšå®ããå Žåã«éãããŸãããã€ã¢ãã°ããããã¢ããã®ãšã¬ããŒã·ã§ã³ãäžããããšãæ€èšããŠãã ããããã®æ°ããåäœãç¡å¹ã«ããå¿ èŠãããå Žåã¯ããåžæã®ãšã¬ããŒã·ã§ã³ãèšå®ããŠç¬èªã®ãã€ã¢ãã°ããããã¢ããããã©ãŒã¯ããããšãèããŠã¿ãŠãã ãããããããæ¹æ³ã¯ããŠãŒã¶ãŒè£å©æ©èœã«æªåœ±é¿ãåãŒãå¯èœæ§ããããããããããããŸããããã€ã¢ãã°ããããã¢ããã®äžéšã¯ãããããããŒã®è²¬ä»»ã«ããããŠãŒã¶ãŒè£å©ãµãŒãã¹ã§æäœãèªã¿åããã§ããããã«ããå¿ èŠããããŸãã
API ã®å€æŽ
- æ§æå€æŽæã«
painterResource
ãæŽæ°ãããªãåé¡ãä¿®æ£ããŸãããïŒI58e73ãb/228862715ïŒ rememberTextMeasurer
ãFontFamily.Resolver
ãDensity
ãLayoutDirection
ã®ãã©ã¡ãŒã¿ãåãããšã¯ãªããªããŸããããããã®ãã©ã¡ãŒã¿ã«ã«ã¹ã¿ã å€ãæå®ããã«ã¯ãTextMeasurer
ã³ã³ã¹ãã©ã¯ã¿ã䜿çšããŠãã ãããïŒIa1da3ïŒDialogProperties.decorFitsSystemWindows
ããããã£ã远å ãããããšã§ããã€ã¢ãã°ã«WindowInsets
ã䜿çšã§ããããã«ãªããŸãããïŒI57742ãb/229378542ïŒ- ãã€ããªäºææ§ãç¶æããããããã©ã³ã ã³ã³ã¹ãã©ã¯ã¿ãå ã® Kotlin ãã¡ã€ã«ã«æ»ããŸãããååã®å®å®çãªãªãŒã¹ããã®å€æŽã¯ãããŸãããïŒIeb2f3ïŒ
- equals ã®å®çŸ©ããäžèŠãªæŒç®åãåé€ããŸãããããã«ãã圱é¿ã¯ãããŸãããïŒI6c309ïŒ
FontVariation.Setting
ã¯ãä»åŸã® API ã§ã®ã¯ã©ã³ããå¯èœã«ããããã®ã·ãŒã« ã€ã³ã¿ãŒãã§ãŒã¹ã§ããïŒI11021ãb/143703328ïŒSlotTree.kt
ã«CompositionGroup.findParameters
ã远å ããŸãããããã«ãããããŒã«ã䜿ã£ãŠãã¹ããã ããŒãã«å šäœãè§£æããªããŠãCompositionGroup
ã®ãã©ã¡ãŒã¿ãååŸã§ããŸããïŒI124feïŒ
ããŒãžã§ã³ 1.3.0-alpha03
2022 幎 8 æ 10 æ¥
androidx.compose.ui:ui-*:1.3.0-alpha03
ããªãªãŒã¹ãããŸãããããŒãžã§ã³ 1.3.0-alpha03 ã«å«ãŸãã commit ã«ã€ããŠã¯ããã¡ããã芧ãã ããã
API ã®å€æŽ
LayoutCoordinates.findRootCoordinates()
ãå ¬éãããŸãããïŒI7fa37ãb/204723384ïŒPlacementScope
ã§LayoutCoordinates
ãååŸããããã®è©Šéšéçšç API ã远å ããŸããããããå©çšããŠãããããããŒã¯çŸåšã®ã¬ã€ã¢ãŠãã§äœçœ®ãåºæºã«ã©ãã«åãé 眮ãããããããææ¡ã§ããŸããïŒI5482bãb/238632578ïŒLayoutCoordinates
éã®è¡å倿ãååŸããããã®LayoutCoordinates.transformFrom
ã远å ããŸãããïŒIc5ab1ãb/238632578ïŒSemanticsModifier.id
ãéæšå¥šãšãªããã»ãã³ãã£ã¯ã¹ ID ãLayoutInfo.semanticsId
ã«ç§»åããŸãããïŒIac808ãb/203559524ïŒ- ãªãœãŒã¹ ãã©ã³ããããã©ã³ã ããªãšãŒã·ã§ã³ã®èšå®ããµããŒãããããã«ãªããŸããïŒAPI 26 以äžïŒãïŒI900ddãb/143703328ïŒ
DeviceFontFamilyNameFont
ã§å¯å€ãã©ã³ãããµããŒããããããã«ãªããŸãããïŒIc1279ãb/143703328ïŒ- ãã©ã³ã ã³ã³ã¹ãã©ã¯ã¿ããAndroid O 以äžã®ããã€ã¹ã§å¯å€ãã©ã³ããèšå®ããããã®
FontVariation.Setting
ã®ãªã¹ããåãå ¥ããããã«ãªããŸãããïŒI11a9dãb/143703328ïŒ - å¯å€ãã©ã³ããå®çŸ©ã䜿çšããããã®
FontVariation
API ã远å ããŸãããïŒI3c40cãb/143703328ïŒ LineHeightStyle.Alignment
ã³ã³ã¹ãã©ã¯ã¿ãå ¬éãããŸããïŒè©ŠéšéçšçïŒãïŒI4bbbeãb/235876330ïŒ- Paragraph ã expect|actual ãšã㊠Android ããã³ãã¹ã¯ãããã§å®çŸ©ãããããã«ãªããŸãããïŒId387eãb/239962983ïŒ
- Interface Paragraph ãã·ãŒã«ã® Interface Paragarph ã«ãªããŸãããParagraph ã®ãµãã¯ã©ã¹åã«ã€ããŠã®ãŠãŒã¹ã±ãŒã¹ã¯ãããŸããããã®å€æŽã圱é¿ããå Žåã¯ããåãåããã«ãªãããšãããããããŸããïŒIf5247ãb/239962983ïŒ
PlatformTextStyle
ããã³LineHeightStyle
ãã詊éšéçšçã¢ãããŒã·ã§ã³ãåé€ããŸãããïŒI64befïŒTextInputService.show|hideSoftwareKeyboard
ãéæšå¥šãšãªããŸããã代ããã«ãã¢ããªã³ãŒãã§ã¯SoftwareKeyboardController
ãIME 管çã³ãŒãã§ã¯TextInputSession
ã䜿çšããŠãã ãããïŒI14e4cãb/183448615ïŒ- æ¢åã®ã¢ãã¡ãŒã·ã§ã³ ã¿ã€ãçšã®æ°ãã API ã远å ããŸãããïŒI26179ïŒ
ãã°ã®ä¿®æ£
- SDK 33 以éã§
POST_NOTIFICATIONS
æš©éãä»äžããå¿ èŠããã API ã«@RequiresPermission
ã远å ããŸãããïŒIe542eãb/238790278ïŒ
ããŒãžã§ã³ 1.3.0-alpha02
2022 幎 7 æ 27 æ¥
androidx.compose.ui:ui-*:1.3.0-alpha02
ããªãªãŒã¹ãããŸãããããŒãžã§ã³ 1.3.0-alpha02 ã«å«ãŸãã commit ã«ã€ããŠã¯ããã¡ããã芧ãã ããã
API ã®å€æŽ
- å§åãååŸããããã®æ°ããããããã£
PointerInputChange#pressure
ã远å ããŸãããïŒI45a5eãb/205164819ïŒ - ã³ã³ããžã·ã§ã³ã§
TextMeasurer
ã€ã³ã¹ã¿ã³ã¹ãç°¡åã«äœæããŠèšæ¶ããããã®rememberTextMeasurer
ã远å ããŸãããïŒI8d66eïŒ Rect
ãRoundRect
ãMutableRect
ãcontains
颿°ãåŒã³åºãããã® Kotlinin
æ§æããµããŒãããããã«ãªããŸãããïŒIe42b0ãb/238642990ïŒ- API ã®ããã·ã³ãã«ãªéšåãšåãããŠç°¡åã«å®è£
ã§ããããã«ãªã£ãããã
KeyInjectionScope
ããäžèŠãªé¢æ°ãåé€ããŸãããåé€ãã颿°ã«ã¯ãpressKeys
ãkeysDown
ãkeysUp
ãªã©ããããŸããïŒI81d77ïŒ KeyInjectionScope
å ã®å®æ°ãšãã©ã¡ãŒã¿ã®åäœãããªç§ã§ããå Žåã«æ¥å°ŸèŸãMillisãã远å ããããããããã®ååããªãã¡ã¯ã¿ãªã³ã°ããŸãããïŒIabef5ïŒ- ããã¹ãç·šéã«é¢ããåé¡ããã©ãã«ã·ã¥ãŒãã£ã³ã°ã§ãããã
toStringForLog()
ã¡ãœãããEditCommand
ã«è¿œå ããŸãããïŒI53354ãb/228862731ïŒ Canvas
ãdrawBehind
ã®ãããªDrawScope
ã§åäœããã³ã³ããŒã¶ãã«ã修食åã«ããã«ãã¹ã¿ã€ã«ã®ããã¹ããæç»ã§ããããã«ãDrawScope
ã«drawText
æ¡åŒµé¢æ°ã远å ããŸãããïŒI16a62ãb/190787898ïŒTextMeasurer
ãšããæ°ãã詊éšéçšç API ãå°å ¥ããŸããããã® API ãå©çšãããšãCompose ã©ã³ã¿ã€ã ããåãé¢ããŠãBasicText
ãšåãçµæãåºãä»»æã®ããã¹ã ã¬ã€ã¢ãŠãæŒç®ãè¡ããŸããïŒI17101ïŒSlotTree.kt
ã«mapTree
ã远å ããŸãããããã«ãããããŒã«ãå©çšããŠãasTree ã®ããã«æåã«ã¡ã¢ãªã³ããŒãäœæããããšãªãSlotTree
ãæ€æ»ã§ããŸããLayout Inspector ã§ã¯ãããã©ãŒãã³ã¹ãçŽ 10 ååäžããŸããïŒI5e113ïŒ- ãã€ããªåºåãã¡ã€ã«ã«ä¿åããããã Compose ãã¬ãã¥ãŒã倿ŽããããããããŒãã©ã€ãã©ãªãã
MultiPreview
ã¢ãããŒã·ã§ã³ãæžã蟌ã¿ãå䜿çšã§ããããã«ããŸãããïŒI85699ãb/233511976ïŒ
ãã°ã®ä¿®æ£
Velocity
ãã©ãã«ãŒã«InputEventChange
ã€ãã³ãã远å ããéã«äœçœ®ã§ã¯ãªãå·®åãèæ ®ããããšã§ãã¿ãŒã²ããèŠçŽ ãç§»åããå Žåãå«ããŠããã¹ãŠã®ã±ãŒã¹ã§éåºŠãæ£ç¢ºã«èšç®ãããããã«ããŸãããïŒIcea9dãb/216582726ãb/223440806ãb/227709803ïŒ- ã¢ãããŒã·ã§ã³ãããå Žåã«
AnnotatedString.toUpperCase
ã«ãã£ãŠçºçãã NPE ãä¿®æ£ããŸãããïŒI0aca2ãb/210899140ïŒ
ããŒãžã§ã³ 1.3.0-alpha01
2022 幎 6 æ 29 æ¥
androidx.compose.ui:ui-*:1.3.0-alpha01
ããªãªãŒã¹ãããŸãããããŒãžã§ã³ 1.3.0-alpha01 ã«å«ãŸãã commit ã«ã€ããŠã¯ããã¡ããã芧ãã ããã
API ã®å€æŽ
- å®éã®æž¬å® / ã¬ã€ã¢ãŠãã®åã®å
èªã¿ãã¹ããµããŒãããæ°ãã
LookaheadLayout
ãã¬ã€ã¢ãŠãã倿Žããããšãã«äºåèšç®ãè¡ãã€ã€ãäºåŸå èªã¿ã®æž¬å® / ã¬ã€ã¢ãŠããèš±å¯ããããšãå¯èœã«ãªããããäºåèšç®æžã¿ã®ãµã€ãº / äœçœ®ã䜿çšããŠãã¿ãŒã²ããã«å¯Ÿãããµã€ãºãšäœçœ®ãã¢ãã¡ãŒã·ã§ã³åããããšãã§ããŸããSubcomposeLayouts
ã¯ãŸã ãµããŒããããŠããŸããããä»åŸã®ãªãªãŒã¹ã§å¯Ÿå¿ããäºå®ã§ããïŒI477f5ïŒ TextStyle
ãšSpanStyle
ã®ãã©ã·ã®ãã¬ãŒããŒã«ãªãã·ã§ã³ã® alpha ãã©ã¡ãŒã¿ã远å ããŠãText
å šäœã®äžéæåºŠã倿Žã§ããããã«ãªããŸãããïŒIc2facãb/234117635ïŒAnnotatedString
ã®TalkBack
ã®ãªã³ã¯ããµããŒãããããã«ãUrlAnnotation
ã®ã¢ãããŒã·ã§ã³ ã¿ã€ããšé¢é£ã¡ãœãããå°å ¥ããŸãããïŒI1c754ãb/231495122ïŒ- ãŠãŒãã£ãªãã£æ©èœãã©ã³ã¿ã€ã ã«ç§»è¡ãïŒI4f729ïŒ
ãã°ã®ä¿®æ£
TextLayoutResult.getLineForOffset
ãã¹ããŒããªããïŒIdc5d6ãb/235876324ïŒ
å€éšããã®åå
- ã³ã³ããŒãºå¯èœãªé¢æ°å
ãŸã㯠snapshotFlow ãä»ããŠç¶æ
ãç£èŠããæ°ãã API
WindowInfo.keyboardModifiers
ã远å ããŸãããïŒIcdb8aïŒ
ããŒãžã§ã³ 1.2
ããŒãžã§ã³ 1.2.1
2022 幎 8 æ 10 æ¥
androidx.compose.ui:ui-*:1.2.1
ããªãªãŒã¹ãããŸãããããŒãžã§ã³ 1.2.1 ã«å«ãŸãã commit ã«ã€ããŠã¯ããã¡ããã芧ãã ããã
ãã°ã®ä¿®æ£
- ã€ã³ã¹ãã¯ã¿ã® null ãã€ã³ã¿ãä¿®æ£ããŸãããïŒb/237987764ïŒ
- ã€ã³ã¹ãã¯ã¿ã§ã®èšæ¶æã®ã¯ã©ã¹ãã£ã¹ãäŸå€ãä¿®æ£ããŸãããïŒb/235526153ïŒ
ããŒãžã§ã³ 1.2.0
2022 幎 7 æ 27 æ¥
androidx.compose.ui:ui-*:1.2.0
ããªãªãŒã¹ãããŸãããããŒãžã§ã³ 1.2.0 ã«å«ãŸãã commit ã«ã€ããŠã¯ããã¡ããã芧ãã ããã
1.1.0 以éã®éèŠãªå€æŽ
ãã©ãŒã«ã¹èµ°æ»ã®æ¹å:
- æ°ãã
BeyondBoundsLayout
ã³ã¢ API ã䜿çšããŠãLazy ãªã¹ãã®ãã©ãŒã«ã¹ ããªãã³ ã¹ã¯ããŒã«ãåäœããããã«ãªããŸãã FocusOrder
ãšFocusProperties
ã«æ°ããåäœã«ã¹ã¿ãã€ãº API ã远å ããŸãã- ç©çããŒããŒããŸãã¯ãã¬ããªã¢ã³ã³ã§ã®åäœãæ¹åããŸãã
- æ°ãã
æ°ãã API:
- ãŠã£ã³ã㊠ã€ã³ã»ãã
- ãžã§ã¹ãã£ãŒ ããªãã³ã§ç¡éã®ã¬ã€ã¢ãŠã ã¢ãã¡ãŒã·ã§ã³çšã®ã³ã¢ ããªããã£ã
GraphicsLayer
æ©èœïŒRenderEffect
ãå«ãïŒ
å€ãã®ãã°ã®ä¿®æ£ãšããã©ãŒãã³ã¹ã®æ¹å
ããŒãžã§ã³ 1.2.0-rc03
2022 幎 6 æ 29 æ¥
androidx.compose.ui:ui-*:1.2.0-rc03
ããªãªãŒã¹ãããŸãããããŒãžã§ã³ 1.2.0-rc03 ã«å«ãŸãã commit ã«ã€ããŠã¯ããã¡ããã芧ãã ããã
- 1.2.0-rc02 ããã®å€æŽã¯ãããŸããã
ããŒãžã§ã³ 1.2.0-rc02
2022 幎 6 æ 22 æ¥
androidx.compose.ui:ui-*:1.2.0-rc02
ããªãªãŒã¹ãããŸãããããŒãžã§ã³ 1.2.0-rc02 ã«å«ãŸãã commit ã«ã€ããŠã¯ããã¡ããã芧ãã ããã
ããŒãžã§ã³ 1.2.0-rc01
2022 幎 6 æ 15 æ¥
androidx.compose.ui:ui-*:1.2.0-rc01
ããªãªãŒã¹ãããŸãããããŒãžã§ã³ 1.2.0-rc01 ã«å«ãŸãã commit ã«ã€ããŠã¯ããã¡ããã芧ãã ããã
API ã®å€æŽ
- compose ã©ã€ãã©ãªã®ã€ã³ã¿ãŒãã§ãŒã¹ã jdk8 ããã©ã«ã ã€ã³ã¿ãŒãã§ãŒã¹ ã¡ãœããã䜿ã£ãŠãã«ããããããã«ãªããŸãããïŒI5bcf1ïŒ
- ä»ã®ããŒãæŒãããŠããç¶æ
ãŸãã¯ãªã³ã«ãªã£ãŠããç¶æ
ã®ãšãã«ããŒã®æŒäžãæ¿å
¥ããé«é颿°ã
KeyInjectionScope
ã«è¿œå ããŸããïŒwithKeysDown
ãwithKeysToggled
ãªã©ïŒããŸããç¹å®ã®ã¡ã¿ããŒãæŒãããŠãããã©ããããã§ãã¯ããããã®ããããã£ã远å ãããŸããïŒããããã® Ctrl ããŒãæŒãããŠãããã©ããã確èªããisCtrlDown
ãªã©ïŒãå颿°ã«é¢ããããã¥ã¡ã³ãã«ã€ããŠã¯ãKeyInjectionScope
ãåç §ããŠãã ãããïŒI9f6cdãb/229831515ïŒ - ã«ã¹ã¿ã ã®ãªãŒããŒã¹ã¯ããŒã«å¹æãšãããåãå
¥ãã
Modifier.scrollable
ã®ãªãŒããŒããŒããå¯èœã«ããããã«ã詊éšéçšçã®OverscrollEffect
ãå°å ¥ãããŸããã - 詊éšéçšçã®
LocalOverScrollConfiguration
ãfoundation.gesture
ãã foundation ããã±ãŒãžã«ç§»åããååãLocalOverscrollConfiguration
ã«å€æŽããŸãããïŒIf19fbãb/204650733ïŒ runComposeUiTestWithoutActivity {}
ã®ååãrunEmptyComposeUiTest {}
ã«å€æŽããcreateEmptyComposeRule()
ã«åãããŸãããïŒI6fed7ïŒ
ããŒãžã§ã³ 1.2.0-beta03
2022 幎 6 æ 1 æ¥
androidx.compose.ui:ui-*:1.2.0-beta03
ããªãªãŒã¹ãããŸãããããŒãžã§ã³ 1.2.0-beta03 ã«å«ãŸãã commit ã«ã€ããŠã¯ããã¡ããã芧ãã ããã
API ã®å€æŽ
pressKeyTimes
ãisCapsLockOn
ããã³ friends ãšãšãã«KeyInjectionScope
ã«è¿œå ããŸããããŸããAPI ã¯ãã¡ã¿ããŒãæŒãããŸãŸããŠã¹ãã¿ã³ãã¯ãªãã¯ãããªã©ãããŠã¹ãšããŒããŒããçµã¿åãããæ³šå ¥ã®ãã¿ãŒã³ããµããŒãããããã«ãªããŸãããïŒI4c8daãb/229831515ïŒ- ããŒã€ãã³ã泚å
¥ã®è©ŠéšéçšçãµããŒãã远å ããŸããã
performKeyInput
ã䜿çšããŠããŒã€ãã³ããéä¿¡ããããperformMultiModalInput
ã«ãããã«ãã¢ãŒãã«å ¥åãžã§ã¹ãã£ãŒã®éã«MultiModalInjectionScope
ã®key
ããããã£ãä»ããŠããŒã€ãã³ããéä¿¡ããŸããAPI ã®ããã¥ã¡ã³ãã«ã€ããŠã¯ãKeyInjectionScope
ãã芧ãã ãããïŒIc5000ãb/229831515ïŒ - Android ã§ãµããŒããããŠãã Google Fonts ã®æ£èŠã®ã€ã³ã¿ãŒããã ãœãŒã¹ãååŸããããã®æ°ãã
GoogleFont.Provider.AllFontsListUri
ã远å ããŸããã - Google Fonts ã Compose ãžã®èªã¿èŸŒã¿ã«å€±æããå Žåã«åã¹ããŒããããšã©ãŒ ã¡ãã»ãŒãžãæ¹åããŸãããïŒI0416cïŒ
ãã°ã®ä¿®æ£
- é床ãã©ãã«ãŒã«
InputEventChange
ã€ãã³ãã远å ããéã«äœçœ®ã§ã¯ãªãå·®åãèæ ®ããããã«ãªããã¿ãŒã²ããèŠçŽ ãç§»åããå Žåã§ããã¹ãŠã®ã±ãŒã¹ã§éåºŠãæ£ç¢ºã«èšç®ãããããã«ããŸãããïŒI51ec3ãb/216582726ãb/223440806ãb/227709803ïŒ - ã³ã³ããŒã¶ãã«ã§ãã¯ã€ãã¯èšå®ã¿ã€ã«ããåãæ¿ããåŸããã«
Show Layout Bounds
ã®èšå®ãé©çšãããã¢ã¯ãã£ããã£ãçµäºããŠåå ¥åããå¿ èŠããªããªããŸãããïŒI843d5ãb/225937688ïŒ - ãŠãŒã¶ãŒè£å©ã®æååæ€çŽ¢ã§ããã©ã³ãã®èªã¿èŸŒã¿ãããªã¬ãŒãããªããªããŸãã以åã¯ã
StyleSpans
ã§ãã©ã³ãã®èªã¿èŸŒã¿ã詊ã¿ãããFontFamily.Resolver
ãäžæžããããŠããå Žåã«ã¯ã©ãã·ã¥ãåŒãèµ·ãããŸãããïŒI4609dïŒ - ã«ãŒãœã«ãããã¹ã ãã£ãŒã«ãã®æ«å°Ÿã«ãããšãã« Delete ããŒãæŒããŠãã¯ã©ãã·ã¥ããªããªããŸããã
DeleteSurroundingTextCommand
ãšDeleteSurroundingTextInCodePointsCommand
ã«ãããŠãã³ã³ã¹ãã©ã¯ã¿åŒæ°ãè² æ°ã§ãªãããšãå¿ é ã«ãªããŸãããïŒIca8e6ãb/199919707ïŒ
ããŒãžã§ã³ 1.2.0-beta02
2022 幎 5 æ 18 æ¥
androidx.compose.ui:ui-*:1.2.0-beta02
ããªãªãŒã¹ãããŸãããããŒãžã§ã³ 1.2.0-beta02 ã«å«ãŸãã commit ã«ã€ããŠã¯ããã¡ããã芧ãã ããã
API ã®å€æŽ
- ä»ã®ãã¬ãã¥ãŒ ã¿ã€ãã§ã®æ©èœã®åå©çšïŒI19f39ïŒ
ãã°ã®ä¿®æ£
ViewCompositionStrategy.DisposeOnDetachedFromWindowIfNotInPoolingContainer
ã®ååãDisposeOnDetachedFromWindowOrReleasedFromPool
ã«å€æŽããç Žæ£ãçºçããªãå Žåã§ãªããçºçããå Žåã®ããšãååã«ããåæ ãããããã«ããŸãããïŒIf15caïŒ
ããŒãžã§ã³ 1.2.0-beta01
2022 幎 5 æ 11 æ¥
androidx.compose.ui:ui-*:1.2.0-beta01
ããªãªãŒã¹ãããŸãããããŒãžã§ã³ 1.2.0-beta01 ã«å«ãŸãã commit ã«ã€ããŠã¯ããã¡ããã芧ãã ããã
æ°æ©èœ
- ããã¯ã1.2 ããŒã¿çã®æåã®ãªãªãŒã¹ã§ãã
API ã®å€æŽ
- 詊éšéçšçã®
BeyondBoundsInterval
ã远å ããŸãããããã¯ãLazyList
ã®ã«ã¹ã¿ã å®è£ ãå¯èŠå¢çãè¶ ããŠã¢ã€ãã ãã¬ã€ã¢ãŠãããéã«äœ¿çšã§ããŸããïŒIfabfbãb/184670295ïŒ Modifier.composed
ã®éµä»ãããŒãžã§ã³ãå®å®ç API ã«ãªããŸãããïŒIe65e4ãb/229988420ïŒ- ã³ã³ããžã·ã§ã³ ããŒã«ã«ã䜿çšããŠçŸåšã®ãã¥ãŒæ
å ±ãååŸããããã«
rememberNestedScrollConnection
API ãç°¡ç¥åããŸãããïŒI67ca7ïŒ @ComposableTarget
ã¢ãããŒã·ã§ã³ãšã@ComposableTargetMarker
ã«ãã£ãŠããŒã¯ãããã¢ãããŒã·ã§ã³ãã@file
æ¥é èŸã䜿çšãããã¡ã€ã« ã¹ã³ãŒãã§äœ¿çšã§ããããã«ãªããŸããããã¡ã€ã« ã¹ã³ãŒãã§ã¿ãŒã²ãã ã¢ãããŒã·ã§ã³ã䜿çšãããšãã³ã³ãã€ã©ã¯ããã¡ã€ã«å ã®ãã¹ãŠã®ã³ã³ããŒãºå¯èœãªé¢æ°ããé¢é£ä»ãããã Applier ãã¿ãŒã²ãããšãããã®ãšæ³å®ããŸããããšãã°@file:UiComposable
ã䜿çšãããšããã¹ãŠã®@Composable
颿°ã Compose UI Applier ãã¿ãŒã²ãããšããããšã宣èšãããŸããå¥ã® Applier ãã¿ãŒã²ãããšãã颿°ã§ã¯ãç®çã® Applier ã«å¯Ÿããã¿ãŒã²ãã ããŒã«ãŒ ã¢ãããŒã·ã§ã³ãæç€ºçã«æå®ããå¿ èŠããããŸããïŒI40804ïŒãã©ãããã©ãŒã ã«äŸåããªãæ°ãããã¹ã API ã§ãã
interface ComposeUiTest
ãšfun runComposeUiTest(block: ComposeUiTest.() -> Unit)
ãå°å ¥ããŸããããããã¯ãTestRule
ã䜿çšããããšãªã Compose UI ãã¹ããå®è¡ã§ããŸããComposeTestRule
ã䜿çšããã«ãã¹ããå®è¡ããã«ã¯ããã¹ããã©ã ããšããŠrunComposeUiTest
ã«æž¡ããŠãã¬ã·ãŒã ã¹ã³ãŒãComposeUiTest
ã®ã¡ãœãããšã¡ã³ããŒã䜿çšããŸãããããã¯ComposeContentTestRule
ã®å Žåãšåãã§ããåºç€ãšãªãã¢ã¯ãã£ããã£ãžã®ã¢ã¯ã»ã¹ãå¯èœã«ããããã«ã
AndroidComposeTestRule
ãšåæ§ã« Android åºæã®interface AndroidComposeUiTest
ãšfun runAndroidComposeUiTest(block: AndroidComposeUiTest.() -> Unit)
ã远å ããŸããããã«è©³çްã«å¶åŸ¡ããããã«ãclass AndroidComposeUiTestEnvironment
ãã€ã³ã¹ã¿ã³ã¹åããããšãã§ããŸãããã¹ã¯ãããå®è£ ã¯
class DesktopComposeUiTest
ã§ãããçŸæç¹ã§ã¯ãã¹ã¯ãããåºæã®å®è¡é¢æ°ã¯çšæãããŠããŸãããComposeTestRule
ããComposeUiTest
ã«ãã¹ããç§»è¡ããã«ã¯ã次ã®ããã«ããŸãïŒAndroid ã®äŸïŒãç§»è¡å :@RunWith(AndroidJUnit4::class) class MyTest { @get:Rule val rule = createComposeRule() @Test fun test() { rule.setContent { Text("Hello Compose!") } rule.onNodeWithText("Hello Compose!").assertExists() } }
ç§»è¡å :
@RunWith(AndroidJUnit4::class) class MyTest { @Test @OptIn(ExperimentalTestApi::class) fun test() = runComposeUiTest { setContent { Text("Hello Compose!") } onNodeWithText("Hello Compose!").assertExists() } }
çŸæç¹ã§ã¯ã
ComposeContentTestRule
ãšComposeTestRule
ã¯ComposeUiTest
ããæ¡åŒµãããŸãããã€ãŸããComposeUiTest
ã®æ¡åŒµé¢æ°ã¯TestRule
ã€ã³ã¿ãŒãã§ãŒã¹ã§ãŸã åŒã³åºãããšãã§ããŸãããComposeUiTest
ãå®å®ç API ã«ç§»è¡ãããšãComposeContentTestRule
ãšComposeTestRule
ã¯ComposeUiTest
ããæ¡åŒµããããã«å€æŽãããŸããïŒIb4e90ïŒLineHeightBehavior
ã®ååãLineHeightStyle
ã«å€æŽãããŸãããLineVerticalAlignment
ã®ååãLineHeightStyle.Alignment
ã«å€æŽãããŸãããLineHeightTrim
ã®ååãLineHeightStyle.Trim
ã«å€æŽãããŸãããLineHeightStyle
ã®ããã©ã«ãã®ã³ã³ã¹ãã©ã¯ã¿å€ãåé€ãããŸãããïŒI582bfãb/181155707ïŒã°ã©ããŒã·ã§ã³ ã«ã©ãŒã䜿çšããŠããã¹ããæç»ã§ããããã«ã
TextStyle
ãšSpanStyle
ã«Brush
ã远å ããŸãããïŒI53869, b/187839528ïŒLineHeightBehavior
ã®å±æ§trimFirstLineTop
ãštrimLastLineBottom
ãåäžã®åæåLineHeightTrim
ã«å€æŽããŸãããLineHeightTrim
ã«ã¯ã2 ã€ã®ããŒã«å€ïŒFirstLineTop
ãšLastLineBottom
ïŒãBothãNone ã«ãã£ãŠå®çŸ©ããã 4 ã€ã®ç¶æ ã®å€ããããŸããïŒIfc6a5ãb/181155707ïŒLineHeightBehavior
ãTextStyle
ãšParagraphStyle
ã«è¿œå ãããŸãããLineHeightBehavior
ã¯ãè¡ã®é«ããæåã®è¡ã®å é ãšæåŸã®è¡ã®æ«å°Ÿã«é©çšãããã©ãããå¶åŸ¡ããŸãããŸããTextStyle(lineHeight)
ã«ãã£ãŠæå®ãããã¹ããŒã¹å ã®è¡ã®é 眮ãå®çŸ©ããŸããããšãã°ãCSS ã
LineHeightBehavior(alignment = LineVerticalAlignment.Center, trimFirstLineTop=false, trimLastLineBottom = false)
ãä»ããŠå®çŸ©ãããã®ãšåæ§ã®åäœãå®è¡ã§ããŸããèšå®
trimFirstLineTop
ããã³trimLastLineBottom
ã¯ãincludeFontPadding
ã false ã®å Žåã®ã¿æ£ããæ©èœããŸããïŒI97332ãb/181155707ïŒPlatformParagraphStyle.lerp
颿°ãšPlatformSpanStyle.lerp
颿°ããããã¬ãã«é¢æ°ã«å€æŽãããŸãããïŒI9a268ïŒ
ãã°ã®ä¿®æ£
PointerInputChange::copy
ã®ããã¥ã¡ã³ãã«ãã·ã£ããŒã³ããŒã§ããããšãæ£ãã瀺ãããããã«ãªããŸãããïŒI182f5ïŒ- é«ãã«å¶éããããããã¹ãè¡ã®å šäœãåãŸããªãå Žåã«ãçç¥èšå·ã䜿çšã§ããããã«ãªããŸãããïŒIe528cãb/168720622ïŒ
- ããã©ã«ãã§
includeFontPadding
ããªã³ã«ãªããŸããTextStyle.platformTextStyle
屿§ã䜿çšãããšincludeFontPadding
ããªãã«ã§ããŸããè¿ãå°æ¥ãããã©ã«ãã®åäœã倿ŽãããŸããããããŸã§ã¯ãã®æ¹æ³ã§è¡ã®é«ããæ¹åãïŒaosp/2058653ïŒãTextField
ã®ã¯ãªããã³ã°ã®åé¡ã解決ã§ããŸããïŒI01423ãb/171394808ïŒ
å€éšããã®åå
- Android ã§åçŽæ¹åã«ã¹ã¯ããŒã«ãããšã
MouseInjectionScope.scroll(delta = someDelta)
ãå転ããããã«ãªããŸããïŒsomeDelta ãæ£å€ã®å Žåãäžæ¹åã«ã¹ã¯ããŒã«ããŸãïŒãïŒIfb697ãb/224992993ïŒ
ããŒãžã§ã³ 1.2.0-alpha08
2022 幎 4 æ 20 æ¥
androidx.compose.ui:ui-*:1.2.0-alpha08
ããªãªãŒã¹ãããŸãããããŒãžã§ã³ 1.2.0-alpha08 ã«å«ãŸãã commit ã«ã€ããŠã¯ããã¡ããã芧ãã ããã
API ã®å€æŽ
pluralStringResource
颿°ã¯ãä»åŸãé²åçã§åœéåã®æ¹åããµããŒãã§ããããã«ããããã詊éšéçšçãšããŠããŒã¯ãããŸãããïŒIf24e4ïŒ- Paragraph ãš MultiParagraph ã Constraints ãã©ã¡ãŒã¿ãåãå
¥ããããã«ãªããŸãããçŸæç¹ã§ã¯
Constraints.maxHeight
ãæž¡ããŠãæ©èœããŸããããä»åŸãé«ãã«åºã¥ããŠçç¥ãããªã©ãããã€ãã®èšç®ãè¡ãããšãå¯èœã«ãªãäºå®ã§ããïŒI6afeeãb/168720622ïŒ SubcomposeSlotReusePolicy.getSlotsToRetain()
ã¯ãæ°ããã¢ã€ãã ã®è¿œå ãèš±å¯ããªã MutableSet ã®ãããªã«ã¹ã¿ã ã¯ã©ã¹ãåãå ¥ããããã«ãªããŸãããïŒIcd314ïŒ- PointerIcon ã
@Stable
ã€ã³ã¿ãŒãã§ãŒã¹ã«ãªããŸããïŒI9dafeïŒ PointerInputChange
ã§ã®éšåçãªæ¶è²»ïŒdown ãŸã㯠positionïŒãéæšå¥šã«ãªããŸãããconsume()
ã䜿çšãããšã倿Žãå®å šã«äœ¿çšã§ããŸããisConsumed
ã䜿çšãããšã以åã«ãã®å€æŽãä»ã®ãŠãŒã¶ãŒã«äœ¿ããããã©ããã確èªã§ããŸããPointerInputChange::copy()
ãåžžã«ã·ã£ããŒã³ããŒãäœæããããã«ãªããŸãããã€ãŸããPointerInputChange
ã®ã³ããŒã®ãããã 1 ã€ã䜿çšããããšã以éã¯ãããã®ã³ããŒã䜿çšãããŸãããã€ã³ããããŠããªãPointerInputChange
ãäœæããã«ã¯ã代ããã«ã³ã³ã¹ãã©ã¯ã¿ã䜿çšããŸããïŒIe6be4ãb/225669674ïŒ- Compose > View ã®æ¹åã§ãCompose ãš View ã®éã®ãã¹ã ã¹ã¯ããŒã«ã®çžäºéçšãæå¹ã«ããŸãããããã«ãããCompose ã®èŠªã¯ããã¹ããããã¹ã¯ããŒã« ãã¥ãŒãããã¹ããããã¹ã¯ããŒã«å·®åãåãåãããšãã§ããããã«ãªããŸããïŒIf7949ãb/174348612ïŒ
- æ°ãã
SemanticsProperty testTagsAsResourceId
ãããã䜿çšããŠãView ã·ã¹ãã çšã«èšèšããã UIAutomator ãã¹ãã« Compose ãæºæ ãããããšãã§ããŸããïŒI39c20ïŒ FontFamily.SansSerif
ã䜿çšãããšãAndroid ã®ã·ã¹ãã ãã©ã³ãã§å©çšå¯èœãªå€ªãããã¹ãŠè¡šç€ºãããŸããããã«ãããAPI 21ïœ28 ã®å éšã§ sans-serif-medium ã®ãããªä»£æ¿ãã©ã³ãåã䜿çšãããŸãããããŸã§ API 21ïœ28 ã§ã¯å€ªã 400 ãš 700 ã®ã¿ããµããŒããããŠãããããåäœã倿ŽãããŸããïŒI380feãb/156048036ãb/226441992ïŒ- Paragraph ãš Multiparagraph ã®ã€ã³ã¹ãã©ã¯ã¿ãŒãäœçœ®åŒæ°ã®é åºã倿Žãããªãã·ã§ã³ã®åŒæ°ã®åã«ãªãããã«ããŸãããïŒIdafaaïŒ
AndroidFont
ã¯ãtypefaceLoader ãã³ã³ã¹ãã©ã¯ã¿ ãã©ã¡ãŒã¿ãšããŠåãåãããã«ãªããŸãããïŒI2c971ïŒ
ããŒãžã§ã³ 1.2.0-alpha07
2022 幎 4 æ 6 æ¥
androidx.compose.ui:ui-*:1.2.0-alpha07
ããªãªãŒã¹ãããŸãããããŒãžã§ã³ 1.2.0-alpha07 ã«å«ãŸãã commit ã«ã€ããŠã¯ããã¡ããã芧ãã ããã
API ã®å€æŽ
- æ°ãã颿°
Snapshot.withoutReadObservation { ... }
ã远å ãããŸããããã®é¢æ°ã«ãããŠãŒã¶ãŒã¯ããã®ãããã¯äžã«èªã¿èŸŒãŸããç¶æ å€ã®å€æŽã«ãµãã¹ã¯ã©ã€ãããã«ãæž¡ãããã©ã ããå®è¡ã§ããŸããããã¯ãã¹ãããã·ã§ãã ããŒã¹ã®ã¹ã¬ããã»ãŒããªæžã蟌㿠/ èªã¿åãã®å©ç¹ã掻çšãã€ã€ãäžèŠãªåã³ã³ããžã·ã§ã³ãŸãã¯å枬å®ãè¡ããã«å€ãèªã¿åããããã«ããããŠãŒã¹ã±ãŒã¹ã§åœ¹ç«ã€å ŽåããããŸããïŒI9f365ãb/214054486ïŒ ComposeView
ã®consumeWindowInsets
æ¡åŒµããããã£ã䜿çšãããšãããããããŒã¯ AndroidWindowInsets
ã®æ¶è²»ãç¡å¹ã«ã§ããŸããããã«ãããéå±€å ã®åã ã®ComposeViews
ãäºãã«å¹²æžããããšãªããããããWindowInsets
ãé©çšã§ããŸããïŒI0ef08ãb/220943142ïŒ- IME ã«å°æ°ç¹èšå·ãå«ããããã«ã
Keyboard.Number
ã®ä»£ãããšããŠKeyboardType.Decimal
ã远å ããŸãããïŒIec4c8ãb/209835363ïŒ PointerEventType.Scroll
ãšPointerEvent.scrollDelta
ãå®å®ç API ã«ãªããŸãããïŒI574c5ãb/225669674ïŒ- 飿ºãã View ã¯ã©ã¹ã® View ãš Compose ã®éã®ãã¹ã ã¹ã¯ããŒã«ã®çžäºéçšãæå¹ã«ããŸãããããã«ãããCompose ã¯ïŒé£æºããïŒView ã®èŠªã«ã¹ã¯ããŒã«å·®åããã£ã¹ãããã§ããããã«ãªããŸãããïŒI5d1acãb/174348612ïŒ
- ã·ã¹ãã å
šäœã«ããã倪åããã¹ãã®ãŠãŒã¶ãŒè£å©èšå®ãçµ±åããããã«
FontFamily.Resolver
ãæŽæ°ããŸãããïŒI6c1e7ïŒ Font(AssetManager, String, ...)
ãéæšå¥šãšãªããFont(String, AssetManager, ...)
ã«çœ®ãæããããŸãããããã¯è©Šéšéçšçã® API ã§ããïŒI1c7a4ïŒ- æ°ãããã©ã³ãèšè¿°å
Font(DeviceFontFamilyName)
ã远å ãããã©ã³ãã®ãã©ãŒã«ãã㯠ãã§ãŒã³äžã«ã·ã¹ãã ãã€ã³ã¹ããŒã«ãããã©ã³ããå¿ èŠã«å¿ããŠæ€çŽ¢ã§ããããã«ããŸãããïŒI30468ãb/219754572ïŒ - TextStyle/ParagraphStyle ã«
includeFontPadding
ã®äžæçãªäºææ§èšå®ã远å ããŸãããincludeFontPadding
ã¯TextStyle(platformStyle = PlatformTextStyle(includeFontPadding = true/false))
ãä»ããŠå€æŽã§ããŸããããã¯ç§»è¡ãå¯èœã«ããããã®äžæçãªèšå®ãªãã·ã§ã³ã§ãåŸã§åé€ãããŸããïŒIf47beãb/171394808ïŒ - ãããã°ã®ãã«ãã«
GoogleFont.Provider.isAvailableOnDevice
æ¡åŒµæ©èœã远å ããŸãããïŒI64e31ïŒ @ArrayRes
ã§äœ¿çšããGoogleFont.Provider
ã³ã³ã¹ãã©ã¯ã¿ã远å ããŸãããïŒIc5ee1ãb/225984280ïŒCompose GoogleFont
ã¯Font(GoogleFont)
ãšåŒã°ããããã«ãªãããã以å€ã® API ãå®å®çã«ãªããŸãããïŒI125f2ïŒ
ãã°ã®ä¿®æ£
- å åŽã®ããã£ã³ã°ã䜿çšãããŠããããšã確èªãããããmaterial/Scaffold ã« lint ãã§ãã¯ã远å ããŸããïŒIfb111ïŒ
ããŒãžã§ã³ 1.2.0-alpha06
2022 幎 3 æ 23 æ¥
androidx.compose.ui:ui-*:1.2.0-alpha06
ããªãªãŒã¹ãããŸãããããŒãžã§ã³ 1.2.0-alpha06 ã«å«ãŸãã commit ã«ã€ããŠã¯ããã¡ããã芧ãã ããã
API ã®å€æŽ
- ãã©ãŒã«ã¹å¯èœãªã¿ãŒã²ããã§ãã©ãŒã«ã¹ããªã¯ãšã¹ãããããã®
RequestFocus
ã»ãã³ãã£ã¯ã¹ ã¢ã¯ã·ã§ã³ã远å ããŸãããïŒI17b71ïŒ - ãã¯ã¿ãŒåãããŒã¢ãã«ã®è§£æãæŽæ°ããŠãçŸåšã®ã¬ã€ã¢ãŠãæ¹åã RTL ã®å Žåã«
VectorPainter
ã®ã³ã³ãã³ããåãæ¿ããèªåãã©ãŒãªã³ã°ããµããŒãããããã«ããŸãããïŒI79cd9ãb/185760237ïŒ API ã®äºææ§ã確ä¿ãããããã·ã£ããŠã®è²ãã¢ã³ããšã³ãã®è²ã
Modifier.graphicsLayer
ã®æ«å°Ÿã®ãã©ã¡ãŒã¿ã«ãªãããæŽæ°ããŸãããïŒI3f864ãb/160665122ïŒAPI ã®äºææ§ãç Žãåäœå€æŽã«ãªããªãããã
GraphicsLayerScope
ã®ã·ã£ããŠã®è²ãã¢ã³ããšã³ãã®è²ã«ããã©ã«ãã®å®è£ ã远å ããŸãããRSB ã€ãã³ãã«ã€ãã³ãæéã远å ããŸãããïŒIef8aeïŒ
FocusOrder
ãFocusProperties
ã«çµ±åããŠãfocusProperties()
ã«focusOrder()
ã®ãã¹ãŠã®æ©èœãå«ãŸããããã«ããŸãããFocusOrder
ãšfocusOrder()
ãéæšå¥šã«ãªããŸãããfocusRequester
ãåãåãfocusOrder()
ã¯ãfocusRequester()
修食åãšfocusProperties()
ã®çµã¿åããã«çœ®ãæããå¿ èŠããããŸããããã«ãããæžå¿µäºé ã§ãã修食åã®åºå¥ããã匷åã«ãªããŸããïŒI601b7ïŒRecyclerView
ãšCompose
ã®äž¡æ¹ãã¢ããã°ã¬ãŒããããšãCompose ãã¥ãŒãåãšããŠæã€ RecyclerView ã®ã¹ã¯ããŒã« ããã©ãŒãã³ã¹ãå€§å¹ ã«æ¹åãããããã«ãªããŸãããçµã¿èŸŒã¿ã®ããã©ã«ãæŠç¥ãååŸããææ®µãšããŠ
ViewCompositionStrategy.Default
ã远å ããŸãããRecyclerView ãªã©ã®ããŒãªã³ã° ã³ã³ãããé©åã«åŠçããæ°ããããã©ã«ãæŠç¥
ViewCompositionStrategy.DisposeOnDetachedFromWindowIfNotInPoolingContainer
ã远å ããŸãããïŒIf7282ïŒãã«ããã¬ãã¥ãŒæ©èœã远å ããããã®æåã®ã¹ããããšããŠãã¢ãããŒã·ã§ã³ ã¯ã©ã¹ã« @Preview ã§ã¢ãããŒã·ã§ã³ãä»ãããããããµããŒãã远å ããŸããããã®ã¢ãããŒã·ã§ã³ã䜿çšããŠãã³ã³ããŒãºå¯èœãªã¡ãœãããªã©ã®ã¢ãããŒã·ã§ã³ ã¯ã©ã¹ã«ã¢ãããŒã·ã§ã³ãä»ããããšãã§ããŸããããã«ãããã¢ãããŒã·ã§ã³ ã¯ã©ã¹ã«ã¯æå®ãã @Preview ã«ãã£ãŠéæ¥çã«ã¢ãããŒã·ã§ã³ãä»ããããããšã«ãªããŸããïŒI12effïŒ
@Preview ã®ããã€ã¹ãªã¹ãã«åç §ããã€ã¹ã远å ããŸãããïŒI071c9ïŒ
ãã°ã®ä¿®æ£
- @UiComposable ã®ä»£ããã«é©åãªã³ã³ããŒãºå¯èœã¢ãããŒã·ã§ã³ @VectorComposable ã䜿çšãããããã¯ã¿ãŒ ã°ã©ãã£ã㯠API ãæŽæ°ããŸãããïŒI942bcïŒ
AnnotatedString.Builder.withStyle
ãã crossinline ãåé€ããŸãããïŒIf84d5ïŒ
å€éšããã®åå
- compose-ui:
ambientShadowColor
ããããã£ãšspotShadowColor
ããããã£ãGraphicsLayerScope
ã«è¿œå ããŸãããïŒI1ba1aãb/160665122ïŒ pluralStringResource
颿°ã§è€æ°ã®ãªãœãŒã¹ããµããŒããããããã«ãªããŸãããïŒIb2f23ãb/191375123ïŒ
ããŒãžã§ã³ 1.2.0-alpha05
2022 幎 3 æ 9 æ¥
androidx.compose.ui:ui-*:1.2.0-alpha05
ããªãªãŒã¹ãããŸãããããŒãžã§ã³ 1.2.0-alpha05 ã«å«ãŸãã commit ã«ã€ããŠã¯ããã¡ããã芧ãã ããã
API ã®å€æŽ
TextToolbar
ãActionCallback
ã§ã¯ãªãã©ã ãåŒæ°ãåãããã«ãªããŸãããïŒIb2eb9ãb/197950089ïŒ- Tiramisu DP2 ãšäžèŽãããã core ãš appcompat ã® null å¯èœæ§ãæŽæ°ããŸãããïŒI0cbb7ïŒ
- Measured ã€ã³ã¿ãŒãã§ãŒã¹ã parentData ããããã£ãå ¬éããããã«ãªããŸãããïŒI3313fïŒ
Modifier.onPlaced
ãšOnPlacedModifier
ã€ã³ã¿ãŒãã§ãŒã¹ãå®å®çã«ãªããŸãããïŒIb5482ïŒ- ããã§ãCompose Animation ã§ã¯ãéçºè åããªãã·ã§ã³ã® [Animator åçæéã¹ã±ãŒã«] èšå®ããµããŒããããããã«ãªããŸãããïŒI5a4fcãb/161675988ïŒ
BeyondBoundsLayout
修食åãããŒã«ã«ã«è¿œå ããŸããïŒIf8b51ãb/184670295ïŒ- ããã¹ã: includeFontPadding ãããã©ã«ãã§ãªãã«ãªããŸããã
includeFontPadding=false
ã®çµæãšããŠèµ·ããã¯ãªããã³ã°ã®åé¡ã¯å¯ŸåŠãããçžŠé·æåã§ã¯ã¯ãªããã³ã°ãèµ·ããªããªããŸãããïŒI31c84ãb/171394808ïŒ
ãã°ã®ä¿®æ£
- ãã§ã«ã³ã³ãã³ããååšããå Žåã«ã³ã³ãã³ããèšå®ããããšãããšã
ComposeContentTestRule.setContent
ãIllegalStateException
ãã¹ããŒããããã«ãªããŸãããïŒI888a5ãb/199631334ïŒ - Android ã®ã¯ãªããããŒãããèªã¿åãéã«ã¯ãªããããŒãã®å 容ãåå ã§çºçããã¯ã©ãã·ã¥ãä¿®æ£ããŸãããïŒI06020ãb/197769306ïŒ
- RSB ã®ã¹ã¯ããŒã« ãµã³ãã«ãæ¹åããŸãããïŒI6a596ïŒ
å€éšããã®åå
- Kotlinx ã³ã«ãŒãã³ 1.6.0 ã䜿çšããããã«æŽæ°ãããŸããïŒI3366dïŒ
ããŒãžã§ã³ 1.2.0-alpha04
2022 幎 2 æ 23 æ¥
androidx.compose.ui:ui-*:1.2.0-alpha04
ããªãªãŒã¹ãããŸãããããŒãžã§ã³ 1.2.0-alpha04 ã«å«ãŸãã commit ã«ã€ããŠã¯ããã¡ããã芧ãã ããã
API ã®å€æŽ
ComposableTarget
ãComposableTargetMarker
ãComposableOpenTarget
ã远å ããŸããã䜿çšãæ³å®ãããŠããªã Applier ã察象ãšããŠã³ã³ããŒãºå¯èœãªé¢æ°ãåŒã³åºããå Žåã«ã€ããŠãã³ã³ãã€ã«æã®ã¬ããŒããå¯èœã«ãªããŸããã»ãšãã©ã®å Žåãã¢ãããŒã·ã§ã³ã¯ Compose ã³ã³ãã€ã© ãã©ã°ã€ã³ã«ãã£ãŠæšå®ãããŸãããã®ããããããã®ã¢ãããŒã·ã§ã³ãçŽæ¥äœ¿çšããããšã¯ãã£ãã«ãããŸãããæšå®ã§ããªãã±ãŒã¹ãšããŠã¯ãã«ã¹ã¿ã Applierãã³ã³ããŒãºå¯èœãªæœè±¡é¢æ°ïŒã€ã³ã¿ãŒãã§ãŒã¹ ã¡ãœãããªã©ïŒãã³ã³ããŒãºå¯èœãªã©ã ãã§ãããã£ãŒã«ããŸãã¯ã°ããŒãã«å€æ°ïŒããŒã«ã«å€æ°ãšãã©ã¡ãŒã¿ã¯æšå®ãããïŒãäœæããã³äœ¿çšããå Žåãã
ComposeNode
ãŸãã¯é¢é£ããã³ã³ããŒãºå¯èœãªé¢æ°ã䜿çšããå ŽåãæããããŸããã«ã¹ã¿ã Applier ã®å Žåã¯ã
ComposeNode
ãŸãã¯ReusableComposeNode
ãåŒã³åºãã³ã³ããŒãºå¯èœãªé¢æ°ãã颿°ã«å¯ŸããŠComposableTarget
ã¢ãããŒã·ã§ã³ãšã³ã³ããŒãºå¯èœãªã©ã ãã®ãã©ã¡ãŒã¿åã远å ããå¿ èŠããããŸãããã ããComposableTargetMarker
ãä»ããŠã¢ãããŒã·ã§ã³ãäœæããComposableTarget
ãçŽæ¥äœ¿çšãã代ããã«ããã®ããŒã¯ãããã¢ãããŒã·ã§ã³ã䜿çšããããšãããããããŸããComposableTargetMarker
ã§ããŒã¯ãããã³ã³ããŒãºå¯èœãªã¢ãããŒã·ã§ã³ã¯ãApplier ãã©ã¡ãŒã¿ãšããŠå±æ§ã¯ã©ã¹ã®å®å šä¿®é£Ÿåãæã€ComposbleTarget
ãšåçã«ãªããŸããComposableTargetMarker
ã®äœ¿çšäŸã«ã€ããŠã¯ãanroidx.compose.ui.UiComposable
ãã芧ãã ãããïŒI38f11ïŒFont(resId, ...)
ãå®å®ç API ã§ loadingStrategy ãåãåãããã«ãªããŸãããïŒIef3d2ïŒFontLoadingStrategy
ãå®å®ç API ã«ãªããŸãããïŒI1ee35ãb/174162090ïŒText ã®éåæãã©ã³ãèªã¿èŸŒã¿ããµããŒãããŸãããïŒI77057ãb/214587005ïŒ
ã«ã¹ã¿ã
Font.ResourceLoader
ãFontFamily.Resolver
ã«å€æããããã®ããªããž API ã远å ããŸããïŒIa0060ïŒ
ãã°ã®ä¿®æ£
- æäŸããã
FontFamily.Resolver
㯠Popup ãªã©ã®ãµãã³ã³ããžã·ã§ã³ã«æž¡ãããŸãã - æäŸããã
Font.ResourceLoader
㯠Popup ãªã©ã®ãµãã³ã³ããžã·ã§ã³ã«æž¡ãããŸããïŒI48fa5ïŒ
ããŒãžã§ã³ 1.2.0-alpha03
2022 幎 2 æ 9 æ¥
androidx.compose.ui:ui-*:1.2.0-alpha03
ããªãªãŒã¹ãããŸãããããŒãžã§ã³ 1.2.0-alpha03 ã«å«ãŸãã commit ã«ã€ããŠã¯ããã¡ããã芧ãã ããã
API ã®å€æŽ
TextInputSession
ãšTextInputService
ã®notifyFocusedRect
ã¡ãœãããéæšå¥šãšãªããåŒã³åºãããªããªããŸããã代ããã«BringIntoViewRequester
ã䜿çšããŠãã ãããïŒIa4302ãb/192043120ãb/216842427ãb/178211874ïŒRenderNode
ã¹ã¿ãã¯ã©ã¹ã«destroyDisplayListData
ã¡ãœãããå°å ¥ããŸããïŒI1e659ãb/216660268ïŒ- äºåã«äœæãã
SubcomposeLayout
ã®åãäºåã«æž¬å®ã§ããæ°ãã API ã远å ããŸãããïŒI857eaïŒ ã³ã³ããŒã¶ãã« ã©ã ããå¥ã®ã©ã ãã«å€æãã
movableContentOf
ã远å ããŸããã倿ãããã©ã ãã¯ãç¶æ ããã³å¯Ÿå¿ããããŒããåŒã³åºãããæ°ããå Žæã«ç§»åããŸããåã®åŒã³åºããã³ã³ããžã·ã§ã³ããåºããšç¶æ ã¯äžæçã«ä¿æãããã©ã ããžã®æ°ããåŒã³åºããã³ã³ããžã·ã§ã³ã«å ¥ã£ãå Žåãç¶æ ããã³é¢é£ä»ããããããŒããæ°ããåŒã³åºãã®å Žæã«ç§»åãããŸããæ°ããåŒã³åºãã远å ãããªãå Žåãç¶æ ã¯å®å šã«åé€ããããªãã¶ãŒããŒã«éç¥ãããŸããmovableContentOf
ã©ã ããåãã³ã³ããžã·ã§ã³ã§è€æ°ååŒã³åºãããå ŽåãåŒã³åºãããšã«æ°ããç¶æ ãšããŒããäœæãããŸããåŒã³åºããã³ã³ããžã·ã§ã³ãåºãŠæ°ããåŒã³åºããå ¥ããšãç¶æ ã¯ãåŒã³åºãã®é åºã§æåã«åºãåŒã³åºãããå ¥ãåŒã³åºããžãšç§»åããŸããæ°ããåŒã³åºãã§å®£èšãããŠããªãç¶æ ã¯ãã¹ãŠå®å šã«åé€ãããŸããïŒIb4850ïŒFontFamilyResolver
ãLocalFontFamilyResolver.current
ããå©çšã§ããããã«ãªããŸããCompose ã®äœ¿çšä»¥å€ã§æ°ãã FontFamily ãªãŸã«ããäœæããããã®
createFontFamilyResolver(context)
ãšcreateFontFamilyResolver(context, coroutineScope)
ã远å ããŸãããParagraph ãš MultiParagraph ã
FontFamily.Resolver
ã䜿çšããããã«ãªããŸããTextLayoutResult.layoutInput.fontFamilyResolver
ã«ããã®ã¬ã€ã¢ãŠãã§äœ¿çšããããªãŸã«ããå«ãŸããããã«ãªããŸãããTextLayoutResult.layoutInput.resourceLoader
ã¯äœ¿çšãããªããªã£ããããéæšå¥šã«ãªããŸãããïŒId5a45ãb/174162090ïŒãã©ãŒã«ããã¯åäœã§éåæããã³ãªãã·ã§ã³ã®ãã©ã³ãèªã¿èŸŒã¿ããµããŒãããŸãããã®ãã¹ã¯ Text ãš TextField ã«ãã£ãŠäœ¿çšãããFontFamilyResolver ãä»ããŠå ¬éãããŸã
FontFamilyResolver.preload
ãä»ãããã©ã³ãã®ããªããŒãã®ãµããŒãFontFamilyResolver.setAsyncLoadContext
ã䜿çšãããšãéåæãã©ã³ãã®èªã¿èŸŒã¿ã«äœ¿çšããã°ããŒãã« ã³ã«ãŒãã³ ã³ã³ããã¹ããèšå®ã§ããŸããïŒI87fe8ãb/174162090ïŒAndroidFont
ã远å ããŸãããããã¯ãAndroid ã§æ°ããã¿ã€ãã®ãã©ã³ã ãªãœãŒã¹èšè¿°åãæäŸããããã®æ°ããäœã¬ãã« API ã§ããããšãã°ãã¢ããªåºæã®ããã¯ãšã³ããããã©ã³ããèªã¿èŸŒããå¿ èŠã«å¿ããŠããã€ã¹ã«ããªã€ã³ã¹ããŒã«ãããŠãããã©ã³ããèŠã€ãããçŸåšã®ãã©ã³ã ãã¡ã¯ããªã§ã¯æäŸãããªããªãœãŒã¹ãããã©ã³ããèªã¿èŸŒããšãã£ãããšãå¯èœã§ããFont.ResourceLoaded
API ãæ¡åŒµããããã©ã³ãã®éåæèªã¿èŸŒã¿ã®ãªãã·ã§ã³ããµããŒããããããã«ãªããŸãããã¢ã㪠ããããããŒããã® API ãçŽæ¥äœ¿çšããããšã¯æšå¥šãããŸãããæ°ããã¿ã€ãã®ãã©ã³ãã远å ããã«ã¯ãAndroidFont
ãã芧ãã ãããFont.AndroidResourceLoader
æ¡åŒµé¢æ°ã䜿çšãããšãã³ã³ããžã·ã§ã³ã®å€éšã§Font.ResourceLoader
ãäœæã§ããŸãããªãœãŒã¹ããŒã¹ã®ãã©ã³ãã«
loadingStrategy
ãã©ã¡ãŒã¿ã远å ããŸãããããã«ãããããŠã³ããŒãå¯èœãªãã©ã³ãã® XML ããªãœãŒã¹ ãã©ã³ããåç §ããå Žåã®éåæèªã¿èŸŒã¿ãå¯èœã«ãªããŸããïŒIe5aeaãb/174162090ïŒTypeface(FontFamily)
ã³ã³ã¹ãã©ã¯ã¿ãéæšå¥šãšãªããŸãããããã¯ä»¥åããã©ã³ãã®ããªããŒãã«äœ¿çšãããŠããŸããããããŠã³ããŒãå¯èœãªãã©ã³ãã§ã¯æå€§ã§ 10 ç§ã»ã©ãããããšããããŸããããŠã³ããŒãå¯èœãªãã©ã³ãã«äœ¿çšããå Žåããã®åŒã³åºãã«ãã£ãŠ 10 ç§éã®ãããã¯ãçºçããå¯èœæ§ããããŸãã代ããã«ãFontFamilyResolver.preload
ã䜿çšããŠãã ãããfontResource(FontFamily): Typeface
ãéæšå¥šã«ãªããŸãããããã¯ä»¥åããã©ã³ãã®ããªããŒãã«äœ¿çšãããŠããŸããããããŠã³ããŒãå¯èœãªãã©ã³ãã§ã¯æå€§ã§ 10 ç§ã»ã©ãããããšããããŸãã代ããã«ãFontFamilyResolver.preload
ã䜿çšããŠãã ããïŒIf8e7cãb/174162090ïŒmaxSlotsToRetainForReuse
ãåãå ¥ããSubcomposeLayoutState
ã³ã³ã¹ãã©ã¯ã¿ãéæšå¥šãšãªããŸããã代ããã«ãSubcomposeSlotReusePolicy
ãåãå ¥ããæ°ããã³ã³ã¹ãã©ã¯ã¿ã远å ãããŸãããããã¯ãå°æ¥ã®åå©çšã®ããã«ä¿æããã¹ãããããã现ããå¶åŸ¡ã§ããæ°ããã€ã³ã¿ãŒãã§ãŒã¹ã§ããïŒI52c4dïŒColor
ã® HSV 颿°ãš HSL 颿°ãã詊éšéçšçã§ãªã API ãšããŠå ¬éããŸããOklab ã®è²ç©ºéã¯å ¬é API ã«ãªããŸãããïŒI08fb6ãb/180731008ïŒå ¬é API ã«ãªãããšãæ³å®ãããŠããããäœãè¡ããªã
AndroidComposeTestRule.AndroidComposeStatement
ãéæšå¥šãšãªããŸãããïŒIbc46bïŒå éšã§çæããã kt ã¯ã©ã¹ã®åå倿ŽïŒIa0b9eãb/174162090ïŒ
FontLoadingStrategy.values
ãåé€ããŸããïŒI42a9dãb/174162090ïŒã°ããŒãã« ãã©ã³ã ããŒãã®ååã
FontFamilyResolver
ã«ãªããŸãããïŒI4f773ãb/174162090ïŒããœã³ã³çšã®æ°ãããã©ã³ãèªã¿èŸŒã¿ã·ã¹ãã ã䜿çšãïŒI9ce5cãb/174162090ïŒ
FontFamily.Resolver.resolve
ãState<Any>
ãè¿ãããã«ãªããŸããïŒI4406cãb/174162090ïŒ
ãã°ã®ä¿®æ£
- ãœããå
¥åã¢ãŒãã
ADJUST_PAN
ã®ãšãã«ãTextField ããã©ãŒã«ã¹ãããŠããŒããŒãã衚瀺ãããå ŽåãTextField ãé ããªãããããŒããŒãã®äžã«ä¿æãããããã«ãªããŸãããïŒI8eaebãb/190539358ãb/192043120ïŒ - ãã¹ã¯ãããã§ã¯
FontFamily.Resolver
ã®ã³ã³ããžã·ã§ã³ ããŒã«ã«ã䜿çšããŸãã - ãã¹ã¯ãããã®
FontLoader
ãéæšå¥šã«ãªããŸããã - ãã¹ã¯ãããã«æ°ãã
createFontFamilyResolver
ãã¡ã¯ããªã远å ãããŸããïŒI6bbbbãb/174162090ïŒ - ããã¹ã ãã£ãŒã«ãéã§ãã©ãŒã«ã¹ã倿Žãããšãã«ããœãã ããŒããŒãã®å ¥åã¿ã€ããã¡ãã€ãããšããªããªããŸãããïŒI1bf50ãb/187746439ïŒ
ããŒãžã§ã³ 1.2.0-alpha02
2022 幎 1 æ 26 æ¥
androidx.compose.ui:ui-*:1.2.0-alpha02
ããªãªãŒã¹ãããŸãããããŒãžã§ã³ 1.2.0-alpha02 ã«å«ãŸãã commit ã«ã€ããŠã¯ããã¡ããã芧ãã ããã
API ã®å€æŽ
- å転ãããµã€ããã¿ã³ãåãã Wear ããã€ã¹çšã«
Modifier.onRotaryScrollEvent()
ãšModifier.onPreRotaryScrollEvent()
ã远å ããŸãããïŒI18bf5ãb/210748686ïŒ - 詊éšéçšçã®
View.createLifecycleAwareRecomposer
æ¡åŒµæ©èœã远å ããŸãããïŒI0cde6ïŒ
å€éšããã®åå
- Android ã§
PointerEvent.scrollDelta.y
ãå転ãããããã«ãªããŸããïŒããŠã¹ãã€ãŒã«ãå³ã«åŸããå Žåã« -1 ã§ã¯ãªã 1 ãè¿ãããããã«ãªããŸããïŒãïŒIa9811ïŒ
ããŒãžã§ã³ 1.2.0-alpha01
2022 幎 1 æ 12 æ¥
androidx.compose.ui:ui-*:1.2.0-alpha01
ããªãªãŒã¹ãããŸãããããŒãžã§ã³ 1.2.0-alpha01 ã«å«ãŸãã commit ã«ã€ããŠã¯ããã¡ããã芧ãã ããã
API ã®å€æŽ
FontFamily.canLoadSynchronously
ãéæšå¥šã«ãªããŸããããã®ããããã£ã«ã¯ãæå³è«çæå³ã¯ãããŸãããïŒIca5efïŒ- Layout Inspector ã§äžå€ã® ID ãçæããããã«ãID ãã£ãŒã«ãã
CompositionData
ã«è¿œå ããŸãããïŒIc116eïŒ - ãã¬ãã¥ãŒ ããã€ã¹ãªã¹ãã« Wear OS ããã€ã¹ ID ã远å ããŸããïŒI93232ïŒ
äŸåé¢ä¿ã®æŽæ°
- Kotlin
1.6.10
ã«äŸåããããã«ãªããŸããã
ããŒãžã§ã³ 1.1
ããŒãžã§ã³ 1.1.1
2022 幎 2 æ 23 æ¥
androidx.compose.ui:ui-*:1.1.1
ããªãªãŒã¹ãããŸãããããŒãžã§ã³ 1.1.1 ã«å«ãŸãã commit ã«ã€ããŠã¯ããã¡ããã芧ãã ããã
ãã°ã®ä¿®æ£
androidx.compose.ui.platform.RenderNodeLayer.updateDisplayList
ã®NullPointerException
ãä¿®æ£ããŸããïŒaosp/1947059ãb/206677462ïŒ- Android ã®ã¯ãªããããŒãããèªã¿åãéã«ã¯ãªããããŒãã®å 容ãåå ã§çºçããã¯ã©ãã·ã¥ãä¿®æ£ããŸãããïŒI06020ãb/197769306ïŒ
LazyVerticalGrid
ã® RTL ãä¿®æ£ããŸããïŒaosp/1931080ãb/207510535ïŒ
ããŒãžã§ã³ 1.1.0
2022 幎 2 æ 9 æ¥
androidx.compose.ui:ui-*:1.1.0
ããªãªãŒã¹ãããŸãããããŒãžã§ã³ 1.1.0 ã«å«ãŸãã commit ã«ã€ããŠã¯ããã¡ããã芧ãã ããã
1.0.0 以éã®éèŠãªå€æŽ
- Android 12 ã®ãªãŒããŒã¹ã¯ããŒã«å¹æã®å®å®çãµããŒãã远å
- ã¿ãã ã¿ãŒã²ããã®ãµã€ãºèª¿æŽãæ¹å
- Compose 1.0 ã§ã¯ããããªã¢ã« ãŠãŒã¶ãŒè£å©ã¬ã€ãã©ã€ã³ã®ã¿ãã ã¿ãŒã²ããã®ãµã€ãºã«åãããããã«ããããªã¢ã« ã³ã³ããŒãã³ãã®ã¬ã€ã¢ãŠã ã¹ããŒã¹ãæ¡åŒµãããããšã«æ³šæããŠãã ãããããšãã°ããã¿ã³ã®ãµã€ãºããããå°ããèšå®ããŠãããã¿ã³ã®ã¿ãã ã¿ãŒã²ããã¯æå°ãµã€ãºã® 48 x 48 dp ã«æ¡åŒµãããŸããããã«ãããCompose Material ãšãããªã¢ã« ãã¶ã€ã³ ã³ã³ããŒãã³ãã®åäœãäžèŽããView ãš Compose ãæ··åšãããŠãåäœã®äžè²«æ§ãä¿æã§ããŸãããŸããCompose Material ã³ã³ããŒãã³ãã䜿çšã㊠UI ãäœæããéã«ãã¿ãã ã¿ãŒã²ããã«é¢ãããŠãŒã¶ãŒè£å©ã®æå°èŠä»¶ã確å®ã«æºããããŸãã
- ããã²ãŒã·ã§ã³ ã¬ãŒã«ã®å®å®çã®ãµããŒãã远å
- 詊éšéçšçã§ãã£ãããã€ãã® API ãå®å®çã«ç§»è¡
- æ°ããããŒãžã§ã³ã® Kotlin ã®ãµããŒã
ããŒãžã§ã³ 1.1.0-rc03
2022 幎 1 æ 26 æ¥
androidx.compose.ui:ui-*:1.1.0-rc03
ããªãªãŒã¹ãããŸãããããŒãžã§ã³ 1.1.0-rc03 ã«å«ãŸãã commit ã«ã€ããŠã¯ããã¡ããã芧ãã ããã
ãã°ã®ä¿®æ£
- Compose Material 1.1.0-rc03 ããµããŒãããããã«æŽæ°ããŸããã
ããŒãžã§ã³ 1.1.0-rc01
2021 幎 12 æ 15 æ¥
androidx.compose.ui:ui-*:1.1.0-rc01
ããªãªãŒã¹ãããŸãããããŒãžã§ã³ 1.1.0-rc01 ã«å«ãŸãã commit ã«ã€ããŠã¯ããã¡ããã芧ãã ããã
ãã°ã®ä¿®æ£
- ãŠãŒã¶ãŒè£å©ã®ã¹ã¯ããŒã«æäœããªããªããã°ãä¿®æ£ããŸãããïŒI7cbfbïŒ
SemanticsNodeInteraction.captureToImage()
ã¯ãåŒã³åºãã®éã«æå¹ã«ãããšãHardwareRenderer.isDrawingEnabled()
ãfalse
ã®å Žåãåäœããããã«ãªããŸãããïŒIdf3d0ïŒ
ããŒãžã§ã³ 1.1.0-beta04
2021 幎 12 æ 1 æ¥
androidx.compose.ui:ui-*:1.1.0-beta04
ããªãªãŒã¹ãããŸãããããŒãžã§ã³ 1.1.0-beta04 ã«å«ãŸãã commit ã«ã€ããŠã¯ããã¡ããã芧ãã ããã
æ°æ©èœ
- Kotlin
1.6.0
ãšã®äºææ§ã確ä¿ããããã«æŽæ°ããŸããã
API ã®å€æŽ
androidx.core.view
ã® null å¯èœæ§ãã¯ãªãŒã³ã¢ããããŸãããïŒI7078aãb/204917439ïŒ- 詊éšéçšçã® API ã远å ãããPointerInputchange ããŸãšããŠäœ¿çšãããã䜿çšãããŠãããã©ããããã§ãã¯ãããã§ããããã«ãªããŸãããïŒI2e59dïŒ
- UI ã¬ã€ã€ã§ã®ããŠã¹ ã¹ã¯ããŒã« ãã€ãŒã« ã€ãã³ãã®ãµããŒãã远å ããŸãããïŒIa14ebãb/198214718ïŒ
- ç䟡æ§ãæ¯èŒããããã®ããŒãåãå
¥ããæé©åã¹ãããã®å¯Ÿè±¡ã倿ããã詊éšéçšçã®
Modifier.composed
ãªãŒããŒããŒãã远å ããŸãããïŒIce799ãb/205851704ïŒ ComposeNotIdleException
ããThrowable
ããçŽæ¥æ¡åŒµãããã®ã§ã¯ãªããException
ããæ¡åŒµãããããã«ãªããŸãããã€ãŸããException
ããã£ããããŠãã catch å¥ãã以åã¯ãã£ããããŠããªãã£ãComposeNotIdleException
ããã£ããã§ããããã«ãªããŸãããïŒI9c217ïŒ
ãã°ã®ä¿®æ£
- IME ã®å¯èŠæ§ã倿ŽãããŠãããã¹ã ãã³ãã«ãç§»åããªãåé¡ãä¿®æ£ããŸãããïŒI25f2eïŒ
ããŒãžã§ã³ 1.1.0-beta03
2021 幎 11 æ 17 æ¥
androidx.compose.ui:ui-*:1.1.0-beta03
ããªãªãŒã¹ãããŸãããããŒãžã§ã³ 1.1.0-beta03 ã«å«ãŸãã commit ã«ã€ããŠã¯ããã¡ããã芧ãã ããã
API ã®å€æŽ
- ãã¬ãŒã¹ã¡ã³ãã®å€æŽãç£èŠã§ããããã«ãæ°ãã修食å Modifier.onPlaced ã远å ããŸãããããã«ãããç£èŠå¯Ÿè±¡ã®ãã¬ãŒã¹ã¡ã³ãã®å€æŽã«åºã¥ããŠãå修食åã®ãªãã»ããã«è¿œå ã®å€æŽãè¡ãããšãã§ããŸããïŒI558fdïŒ
InjectionScope.flush()
ãšInjectionScope.dispose()
ãåé€ããŸããã以åãšåæ§ãåŒã³åºããã perform*Input() ã¡ãœããã®çµããã«ããã¹ãŠã®ã€ãã³ãã®ãã©ãã·ã¥ãšã¹ã³ãŒãã®å»æ£ãçºçããããã«ãªããŸãããïŒI2bed8ïŒMultiModalInjectionScope.Touch
ãšMultiModalInjectionScope.Mouse
ãåé€ããŸããããã«ãã¢ãŒãã« ãžã§ã¹ãã£ãŒã®ã¿ããã€ãã³ããšããŠã¹ã€ãã³ããæ¿å ¥ããããã«ãMultiModalInjectionScope.touch()
ãšMultiModalInjectionScope.mouse()
ã䜿çšã§ããããã«ãªããŸãããã©ã¡ããããã®ã¢ããªãã£ã®ã¬ã·ãŒã㌠ã¹ã³ãŒããå«ãã©ã ããåãå ¥ããŸããïŒIdde18ïŒ
ãã°ã®ä¿®æ£
TouchInjectionScope.swipeWithVelocity
ã®durationMillis
ã®ããã©ã«ãå€ããã¹ã¯ã€ããå¯èœã«ãªãããèšç®ãããããã«ãªããŸãããïŒI19debïŒ
ããŒãžã§ã³ 1.1.0-beta02
2021 幎 11 æ 3 æ¥
androidx.compose.ui:ui-*:1.1.0-beta02
ããªãªãŒã¹ãããŸãããããŒãžã§ã³ 1.1.0-beta02 ã«å«ãŸãã commit ã«ã€ããŠã¯ããã¡ããã芧ãã ããã
API ã®å€æŽ
- 詊éšéçšçã® BringIntoView API ã远å ããŸããããã® API ã䜿çšãããšã芪ã«ãªã¯ãšã¹ããéä¿¡ããŠãã¹ã¯ããŒã«ã«ãã£ãŠã¢ã€ãã ã衚瀺ã§ããããã«ãªããŸããïŒIb918dãb/195353459ïŒ
- ããŒã«ããµããŒãããæ°ããã¢ãã¡ãŒã·ã§ã³ API ã远å ãããŸãããå ·äœçã«ã¯ãTransition ã§ã¢ãã¡ãŒã·ã§ã³ãšãã®æ§æãæ€æ»ããããŒã«ãå©çšå¯èœã«ãªããŸãããïŒI4116eïŒ
å€éšããã®åå
- Modifier.pointerHoverIcon ã远å ããŸããïŒI95f01ïŒ
ããŒãžã§ã³ 1.1.0-beta01
2021 幎 10 æ 27 æ¥
androidx.compose.ui:ui-*:1.1.0-beta01
ããªãªãŒã¹ãããŸãããããŒãžã§ã³ 1.1.0-beta01 ã«å«ãŸãã commit ã«ã€ããŠã¯ããã¡ããã芧ãã ããã
API ã®å€æŽ
- 詊éšéçšçã®
BringIntoView
API ã远å ããŸããããã® API ã䜿çšãããšã芪ã«ãªã¯ãšã¹ããéä¿¡ããŠãã¹ã¯ããŒã«ã«ãã£ãŠã¢ã€ãã ã衚瀺ã§ããããã«ãªããŸããïŒIb918dãb/195353459ïŒ - ããŒã«ããµããŒãããæ°ããã¢ãã¡ãŒã·ã§ã³ API ã远å ãããŸãããå ·äœçã«ã¯ãTransition ã§ã¢ãã¡ãŒã·ã§ã³ãšãã®æ§æãæ€æ»ããããŒã«ãå©çšå¯èœã«ãªããŸãããïŒI4116eïŒ
ããŒãžã§ã³ 1.1.0-alpha06
2021 幎 10 æ 13 æ¥
androidx.compose.ui:ui-*:1.1.0-alpha06
ããªãªãŒã¹ãããŸãããããŒãžã§ã³ 1.1.0-alpha06 ã«å«ãŸãã commit ã«ã€ããŠã¯ããã¡ããã芧ãã ããã
API ã®å€æŽ
ViewRootForInspector
ãšLayoutInfo.ownerViewId
ããExperimentalComposeUiApi
ãåé€ããŸãããïŒI5c2e3ïŒ- Layout ã®åã®ãªããªãŒããŒããŒãã远å ãããå¹çãæ¹åãããŸãããïŒIb0d9aïŒ
- ã¢ãžã¥ãŒã«éã§åŒã³åºãå¿
èŠããã Composer ã¡ãœãããã
InternalCompilerApi
ãåé€ããŸãããïŒI1aa0bïŒ SemanticsNodeInteraction.performSemanticsAction
ã¯ã颿°ãåŒã³åºãããSemanticsNodeInteraction
ãè¿ãããã«ãªããŸãããïŒI9e5dbïŒ- TouchMode/NonTouchMode ãæ€åºãããã LocalInputModeManager CompositionLocal ã远å ããŸãããïŒI6a83cãb/175899786ïŒ
LayoutInfo
ã«viewConfiguration: ViewConfiguration
ã远å ããã³ã³ã·ã¥ãŒããé·æŒãã¿ã€ã ã¢ãŠããªã©ã®æ£ããå€ãååŸã§ããããã«ããŸãããïŒI76ca6ïŒInjectionScope
ã«viewConfiguration: ViewConfiguration
ã远å ãããã¹ãã§é·æŒãã®ã¿ã€ã ã¢ãŠããã¿ããã¹ããããªã©ã«åºã¥ããŠå ¥åã®æ¿å ¥ã調æŽã§ããããã«ããŸããã- ã¿ããå
¥åãšããŠã¹å
¥åã®äž¡æ¹ã«å¯Ÿããé·æŒããšããã«ã¿ããã®ããã©ã«ãæéã
InjectionScope.viewConfiguration
ã®å€ã«åºã¥ããã倿ŽããŸããã
- ExposedDropdownMenuBox ã«åºã¥ããå éšã« TextField ãš DropdownMenu ãå«ã ExposedDropdownMenu ã®å®è£ ã远å ããŸãããïŒIf60b2ïŒ
- dismissOnOutsideClick ã PopupProperties ã«è¿œå ãããéæšå¥šã«ãªã£ã dismissOnClickOutside ãšçœ®ãæããããŸãããæ°ããããããã£ã¯ã¯ãªãã¯äœçœ®ãšã¢ã³ã«ãŒå¢çãåãåããããonDismissRequest ãåŒã³åºãå¿
èŠããããã©ããã现ããå¶åŸ¡ã§ããŸããããšãã°ãã¢ã³ã«ãŒã§ã®ã¿ããã«å¯Ÿããã¢ã³ã«ãŒç Žæ£ãé²ãã®ã«åœ¹ç«ã¡ãŸãã
- updateAndroidWindowManagerFlags ã PopupProperties ã«è¿œå ããããããã¢ãããã Android WindowManager ã«æž¡ããããã©ã°ã现ããå¶åŸ¡ã§ããããã«ãªããŸãããã©ã ãã®ãã©ã¡ãŒã¿ã¯ãçµæçã« WindowManager ãã©ã°ãšãªã PopupProperties å€ããèšç®ããããã©ã°ã§ãïŒfocusable ãªã©ïŒãã©ã ãã®çµæã¯ãAndroid WindowManager ã«æž¡ãããæçµçãªãã©ã°ã§ããããã©ã«ãã§ã¯ãupdateAndroidWindowManagerFlags ã¯ãã©ã¡ãŒã¿ããèšç®ããããã©ã°ã倿ŽããŸããããã® API ã¯ããããã¢ããã«éåžžã«å ·äœçãªåäœèŠä»¶ãããå Žåã«ã®ã¿ã泚æããŠäœ¿çšããŠãã ãããïŒI6e9f9ïŒ
Recomposer.state
ã¯éæšå¥šã«ãªããRecomposer.currentState
ã«çœ®ãæããããã¿ã€ãã StateFlow ã«å€æŽãããŸãããïŒIc2ab3ãb/197773820ïŒflush()
ãšdispose()
ãInjectionScope
ã«è¿œå ããŸãããããããããã¥ãŒã«å ¥ãããããã¹ãŠã®ã€ãã³ããããã«ãã©ãã·ã¥ããå Žåãšãã¹ã³ãŒããç Žæ£ããå Žåã«äœ¿çšããŠãã ãããïŒIfb73aïŒ- æå®ãããããã£ãŒãšäžèŽããã³ã³ãã³ãã«ã¹ã¯ããŒã«å¯èœãªã³ã³ãããã¹ã¯ããŒã«ãã
performScrollToNode(matcher: SemanticsMatcher)
ã远å ããŸãããïŒIc1cb8ïŒ InjectionScope
ãDensity
ãå®è£ ããperformTouchInput
ãš friends ã§ px ãš dp ã®å€æãç°¡åã«è¡ããããã«ãªããŸãããïŒI8fe1fïŒ
ãã°ã®ä¿®æ£
- AndroidView ããViewTreeLifecycleOwner ãš ViewTreeSavedStateRegistryOwner ãä»ã㊠LocalLifecycleOwner ãš LocalSavedStateRegistryOwner ããã¥ãŒã«äŒããããã«ãªããŸãããïŒI38f96, b/179708470ïŒ
- WearOS SwipeToDismissBox ãã¹ã¯ã€ããåŠçããªãããšãããåé¡ãä¿®æ£ããŸãããïŒI9387eïŒ
- æ¿å ¥ãããå ¥åã€ãã³ãéã®ããã©ã«ãæéã 10 ms ãã 16 ms ã«å€æŽãããŸããããã®ãããç¹å®ã®ã¹ã¯ã€ããªã©ã®å ¥åãžã§ã¹ãã£ãŒãè¡ããã¹ãã®çµæãå€ããå¯èœæ§ããããŸãã(I829fd)
ããŒãžã§ã³ 1.1.0-alpha05
2021 幎 9 æ 29 æ¥
androidx.compose.ui:ui-*:1.1.0-alpha05
ããªãªãŒã¹ãããŸãããããŒãžã§ã³ 1.1.0-alpha05 ã«å«ãŸãã commit ã«ã€ããŠã¯ããã¡ããã芧ãã ããã
API ã®å€æŽ
- 修食åéã³ãã¥ãã±ãŒã·ã§ã³ã®ãµããŒãã远å ããŸãããïŒId5467ãb/198826874ïŒ
- PointerEventChange ã«è©Šéšéçšçã®å±¥æŽãã€ã³ã¿ã远å ããŸãããïŒIc1fd8ãb/197553056ãb/199921305ïŒ
LayoutInfo
ã«density: Density
ãšlayoutDirection: LayoutDirection
ã远å ããŸãããããã«ãããLayoutInfo
ã®ã³ã³ã·ã¥ãŒãããLayoutInfo
ã§å ¬éããããµã€ãºãšäœçœ®ãæ£ããè§£éã§ããããã«ãªããŸãããïŒI002f1ïŒ- 詊éšéçšçã®ããŠã¹ã€ãã³ãæ¿å
¥ãµããŒãã远å ããŸããã
performMouseInput
ã䜿çšããŠããŠã¹ã€ãã³ãã®éä¿¡ãéå§ããããperformMultiModalInput
ã§ã®ãã«ãã¢ãŒãã«å ¥åãžã§ã¹ãã£ãŒã®éã«MultiModalInjectionScope
ã®Mouse
ããããã£ãä»ããŠããŠã¹ã€ãã³ããéä¿¡ããŸããå©çšå¯èœãª API ã®ããã¥ã¡ã³ãã«ã€ããŠã¯ãMouseInjectionScope
ãã芧ãã ãããïŒIaa4a8ãb/190493367ïŒ
ãã°ã®ä¿®æ£
- ã¹ã¯ããŒã«ã«é¢ããŠãã¹ã¯ããŒã«å¯èœïŒé å»¶ãšéé å»¶ã®äž¡æ¹ïŒã®ãŠãŒã¶ãŒè£å©ãµããŒããä¿®æ£ããŸãããïŒI6cdb0ïŒ
TouchInjectionScope.swipeWithVelocity
ãæ¹åããŸãããå¹ åºãå ¥å倿°ãåãå ¥ããããã«ãªããã¹ã¯ã€ããäœæã§ããªãå Žåã«å ¥åã®å€æŽãæç€ºããããã«ãªããŸãããïŒI40fbeãb/182477143ïŒ
ããŒãžã§ã³ 1.1.0-alpha04
2021 幎 9 æ 15 æ¥
androidx.compose.ui:ui-*:1.1.0-alpha04
ããªãªãŒã¹ãããŸãããããŒãžã§ã³ 1.1.0-alpha04 ã«å«ãŸãã commit ã«ã€ããŠã¯ããã¡ããã芧ãã ããã
API ã®å€æŽ
PointerEvent
ã«ããããŒã€ãã³ãããµããŒãããPointerEventType
ã远å ãããŸãããïŒI091faïŒ- åã芪ã®ãã€ã³ã¿å ¥åå¢çã®å€åŽã«ãããã€ã³ã¿å ¥åãåãå ¥ããããããã«ãªããŸããã芪ã¯ããããã㣠PointerInputScope.alwaysInterceptChildEvents ã§ãããã®åŒã³åºããã€ã³ã¿ãŒã»ããã§ããŸããïŒI9eae3ãb/192479655ïŒ
performGesture
ãšGestureScope
ãéæšå¥šã«ãªããããããperformTouchInput
ãšTouchInjectionScope
ã«çœ®ãæããããŸãããïŒIa5f3f, b/190493367ïŒ- ã¿ãã ã¿ãŒã²ããã®æå°ãµã€ãºãå«ãŸãã
touchBoundsInRoot
ãSemanticsNode
ã«è¿œå ããŸãããããã«ãããããããããŒã¯ã¿ãã ã¿ãŒã²ããããŠãŒã¶ãŒè£å©ã®æäœæ¡ä»¶ãæºããããšãã§ããŸããïŒI2e14bãb/197751214ïŒ - inspectable ã®å®è£ ãããçŽããŸãããïŒI927bcãb/191017532ïŒ
- composed ãšäžèŽãããã inspectable ã®ãã©ã¡ãŒã¿åã倿ŽããŸãããïŒI3a482ãb/191017532ïŒ
performTouchInput
ãšTouchInjectionScope
ã«ä»£ããŠãperformTouchInput
ãšTouchInjectionScope
ãå°å ¥ããä»ã®ã¢ããªãã£ïŒããŠã¹ãªã©ïŒããµããŒãããããã«ãªããŸãããTouchInjectionScope
ã®ã¡ãœããã¯ãmovePointerTo
ãšmovePointerBy
ãé€ããGestureScope
ãšåãã§ããããã®ååã¯updatePointerTo
ãšupdatePointerBy
ã«å€æŽãããŸããããã®ä»ã®ã¡ãœããã¯ãã¹ãŠåãã§ããTouchInjectionScope
ã®åäœã¯GestureScope
ã®åäœãšã»ãŒåãã§ããã以äžã®ãããªå°ããéãã 2 ã€ãããŸãã- ç§»åã€ãã³ããéä¿¡ããªããŸãŸã§ãã€ã³ã¿ã®ç§»åäžã«ããŠã³ã€ãã³ããéä¿¡ããå ŽåïŒã€ãŸãã
updatePointerTo()
ã¯äœ¿çšãããããmove()
ã¯äœ¿çšããããdown()
ãåŒã³åºãããå ŽåïŒã以åã®å®è£ ã§ã¯ãã€ãã³ãæéãé²ããŠãããŠã³ã€ãã³ããéä¿¡ããåã«ç§»åã€ãã³ããéä¿¡ããŸããæ°ããå®è£ ã§ãç§»åã€ãã³ãã¯éä¿¡ãããŸããããã®ç¹å®ã®ã·ããªãªã§ã¯ã€ãã³ãæéã¯é²ããŸããã - äžèšãšåãããã«ãç§»åã€ãã³ããéä¿¡ããªããŸãŸã§ãã€ã³ã¿ã®ç§»åäžã«ã¢ããã€ãã³ããéä¿¡ããå Žåã以åã®å®è£ ã§ã¯ãã€ãã³ãæéãé²ããŠãã¢ããã€ãã³ããéä¿¡ããåã«ç§»åã€ãã³ããéä¿¡ããŸããæ°ããå®è£ ã§ã¯ãã®ã©ã¡ããè¡ããããã€ã³ã¿ã®æ°ããäœçœ®ã¯ã¢ããã€ãã³ããä»ããŠã®ã¿åæ ãããŸãã
æåŸã«ã
TouchInjectionScope
ã«ãæå®ããããã€ã³ã¿ã®çŸåšã®äœçœ®ãååŸããããã®æ°ããã¡ãœããcurrentPosition(pointerId: Int)
ãå°å ¥ãããŸãããïŒIf1191ãb/190493367ïŒ- ç§»åã€ãã³ããéä¿¡ããªããŸãŸã§ãã€ã³ã¿ã®ç§»åäžã«ããŠã³ã€ãã³ããéä¿¡ããå ŽåïŒã€ãŸãã
ãã°ã®ä¿®æ£
- æå°éã®ã¿ãã ã¿ãŒã²ããã確ä¿ããããã«ãã¯ãªãããã¯ãªããé åã®å€ãŸã§ã¿ãã ã¿ãŒã²ããå¢çãæ¡åŒµã§ããããã«ãªããŸãããïŒI43e10ãb/171509422ïŒ
- Android 12 ããã€ã¹ã§ãã¹ãã¬ãã ãªãŒããŒã¹ã¯ããŒã«ã®ãµããŒãã远å ããŸãããïŒIccf3cãb/171682480ïŒ
ããŒãžã§ã³ 1.1.0-alpha03
2021 幎 9 æ 1 æ¥
androidx.compose.ui:ui-*:1.1.0-alpha03
ããªãªãŒã¹ãããŸãããããŒãžã§ã³ 1.1.0-alpha03 ã«å«ãŸãã commit ã«ã€ããŠã¯ããã¡ããã芧ãã ããã
æ°æ©èœ
- Kotlin
1.5.30
ã«äŸåããããã« Compose1.1.0-alpha03
ãæŽæ°ããŸãããïŒI74545ïŒ
API ã®å€æŽ
- ä»ã®ä¿®é£Ÿåãã©ããããããã®
Modifier.inspectable
ã远å ããŸãããïŒI1909bãb/191017532ïŒ BlurredEdgeTreatment
API ã远å ããŸããããã® API ã¯ããŒããã®ãŠãŒã¹ã±ãŒã¹ãç°¡çŽ åããŠãã¯ãªãããã©ã°ãš TileMode ã®ãã䜿çšãããçµã¿åããã«ããããã®ãã®ã§ããã»ãšãã©ã®ãŠãŒã¹ã±ãŒã¹ã§ã¯ããŒãããå ¥ããã³ã³ãã³ããå ã®ã³ã³ãã³ãã®å¢çã®å€åŽã«æç»ãããŒããé åãéæãªãã©ãã¯ã䜿ã£ãŠãã®å¢çã®å€åŽã«æç»ããããã³ã³ãã³ããã³ã³ãã³ãã®å¢çã«åãåããã³ã³ãã³ãã®å¢çã®å€ãŸã§å»¶é·ãããŒããã«ãŒãã«ã®æãè¿ããšããžããµã³ããªã³ã°ããããšãå¿ èŠã«ãªããŸããïŒI6b4b7ãb/166927547ïŒ- Compose ãã¹ã¯ãããã« RenderEffect ã®ãµããŒãã远å ããŸãããã³ã³ããžã·ã§ã³éå±€ã®äžéšã«ãŒããã®èŠèŠå¹æãåãå ¥ããç°¡åãªæ¹æ³ãšããŠãOffsetEffect ãš blur 修食åãå°å ¥ããŸãããïŒI0f6aaãb/166927547ïŒ
- ã¬ã€ã€èªäœã®ã³ã³ãã³ãã倿Žããããã«
Modifier.graphicsLayer
ã§å¿ èŠã«å¿ããŠæ§æã§ãã RenderEffect API ãå°å ¥ããŸããããã®ãAPI ã䜿çšããŠãã³ã³ããžã·ã§ã³éå±€å ã®ã³ã³ããŒã¶ãã«ãšåã³ã³ããŒã¶ãã«ã®ã³ã³ãã³ãããŒããããšãã§ããŸããïŒI47c4dãb/166927547ïŒ - AwaitPointerEventScope ã« withTimeout() ãš withTimeoutOrNull() ã远å ãããŸãããïŒI507f0ãb/179239764ãb/182397793ïŒ
- ãŠãŒã¶ãŒè£å©æ©èœãä¿èšŒãããããã»ãã³ãã£ã¯ã¹ãšãã€ã³ã¿å ¥åã§äœ¿çšããæå°ã¿ãã ã¿ãŒã²ãã ãµã€ãºã ViewConfiguration ã«è¿œå ããŸãããïŒIe861cïŒ
- ãŒããããŒã¹ã® RenderEffects ã«å¯Ÿãããšããžåäœã®å®çŸ©ã«åœ¹ç«ã€ãTileMode.Decal ã®ãµããŒãã远å ããŸãããïŒI7e8edãb/166927547ïŒ
performScrollToIndex
ãperformScrollToKey
ãhasScrollToIndexAction
ãhasScrollToKeyAction
ãå®å®ç API ã«ãªããŸãããïŒI142aeãb/178483889ïŒ- ã¯ãªãããããå¢çãååŸãããã¹ãã¡ãœããã远å ããŸãããïŒI6b28eïŒ
ãã°ã®ä¿®æ£
- BlurredEdgeTreatment ãã isBounded ã¡ãœãããåé€ãã代ããã« shape ãã©ã¡ãŒã¿ã null ãã©ããã®æç€ºçãªãã§ãã¯ãå°å ¥ããŸãããïŒI85d68ïŒ
ããŒãžã§ã³ 1.1.0-alpha02
2021 幎 8 æ 18 æ¥
androidx.compose.ui:ui-*:1.1.0-alpha02
ããªãªãŒã¹ãããŸãããããŒãžã§ã³ 1.1.0-alpha02 ã«å«ãŸãã commit ã«ã€ããŠã¯ããã¡ããã芧ãã ããã
API ã®å€æŽ
- PointerEvent ãããŠã¹ãã¿ã³ç¶æ ãšããŒããŒã修食åç¶æ ã®èªã¿åãããµããŒãããããã«ãªããŸãããïŒI6310cãb/180075467ïŒ
- æ¿å
¥ããããžã§ã¹ãã£ãŒããæå»ã«ã€ããŠä¿¡é Œã§ããæ
å ±æºãšã㊠MainTestClock ã®æå»ã䜿çšããããã«ãªããŸããã
performGesture
ã§ã®æ¿å ¥ãããã€ãã³ãã®çŸåšã®æå»ã¯ãMainTestClock ã®çŸåšã®æå»ã«åæåãããŸããïŒIfb364ãb/192064452ïŒ DpRect(DpOffset, DpSize)
ã³ã³ã¹ãã©ã¯ã¿ã远å ããŸãããïŒI2cf16ãb/194219828ïŒ- DpSize ã¯ã©ã¹ã远å ããŸãããïŒI7abb1ãb/194219828ïŒ
ãã°ã®ä¿®æ£
- VectorDrawable ã® root color tint ããããã£ãšã㊠ColorStateLists ããµããŒãããããããã¯ã¿ãŒ ã°ã©ãã£ã㯠XML ã®è§£æãæŽæ°ããŸãããïŒI86915ãb/195668138ïŒ
ããŒãžã§ã³ 1.1.0-alpha01
2021 幎 8 æ 4 æ¥
androidx.compose.ui:ui-*:1.1.0-alpha01
ããªãªãŒã¹ãããŸãããããŒãžã§ã³ 1.1.0-alpha01 ã«å«ãŸãã commit ã«ã€ããŠã¯ããã¡ããã芧ãã ããã
API ã®å€æŽ
RelocationRequester.bringIntoView
ãé·æ¹åœ¢ããã©ã¡ãŒã¿ãšããŠåãå ¥ããã³ã³ããŒã¶ãã«ã®äžéšã衚瀺ã§ããããã«ãªããŸãããïŒIce2c5ãb/194330245ïŒAnimatedImageVector
ãšé¢é£ãã API ãæ°ããandroidx.compose.animation:animation-graphics
ã¢ãžã¥ãŒã«ã«è¿œå ãããŸãããïŒI60873ïŒ- åé 眮ãªã¯ãšã¹ããåŠçãã詊éšéçšçã®ä¿®é£Ÿåã远å ããŸãããïŒI65a97ãb/178211874ïŒ
ColorPainter ãšåæ§ã«ãPainter å ã§ãä»»æ Brush ã®æç»ããµããŒããããããBrushPainter API ãå°å ¥ããŸããã
Brush API ãæŽæ°ããBrushPainter å ã§ã¯ãšãªãããåºæã®ãµã€ãºã®ãã©ã¡ãŒã¿ã远å ããŸãããïŒIa2752ãb/189466433ïŒ
ãªãã·ã§ã³ã® FilterQuality ãã©ã¡ãŒã¿ã䜿çšããããããœãŒã¹ãšãã¹ãã£ããŒã·ã§ã³ã®é·æ¹åœ¢ã䜿çšãã DrawScope#drawImage ã¡ãœãããæŽæ°ããŸãããããã¯ããã¯ã»ã«ããŒã¹ã®ã¢ãŒãã«åãããŠã¹ã±ãŒã«ã¢ããããéã«ãã¯ã»ã«åããããã¯ã»ã«ã¢ãŒãã«å¯ŸããŠæçšã§ãããªãã·ã§ã³ã® FilterQuality ãã©ã¡ãŒã¿ã䜿çšãããããBitmapPainter ãš Image ã³ã³ããŒã¶ãã«ãæŽæ°ããŸãããïŒIe4fb0ãb/180311607ïŒ
GestureScope.advanceEventTime
ã¡ãœããã远å ãããžã§ã¹ãã£ãŒã§ã®ã€ãã³ãã®ã¿ã€ãã³ã°ã现ããå¶åŸ¡ã§ããããã«ãªããŸãããïŒIbf3e2ïŒ
ãã°ã®ä¿®æ£
- draw 修食åã®ãã§ãŒã³ãé©åã«ãµããŒããããããModifier.paint å®è£
ã drawsContent ã確å®ã«åŒã³åºãããã«ããŸããã
以åã¯ãModifier.paint ã¯ä¿®é£Ÿåã®ãã§ãŒã³ã§ã¯ãªãŒãããŒããšãªããŸãããããããããšãã³ã³ããŒã¶ãã« ã³ã³ããïŒããã¯ã¹ãªã©ïŒäžã§æ§æãããã
Modifier.paint().border()
ãªã©ã®äžã«ãã³ã¬ãŒã·ã§ã³ã远å ãããã§ããªããªããŸããæå®ããããã€ã³ã¿ã®ã³ã³ãã³ãã®æç»åŸã« Modifier.paint ã drawContent ãåŒã³åºãããã«ããããšã§ã修食åãã¿ãŒã³ãšã®åäœäžã®æŽåæ§ãåäžãããŸãããïŒIbb2a7ãb/178201337ãb/186213275ïŒ - ãã€ã¢ãã°ããã©ãããã©ãŒã ã®ãµã€ãºèª¿æŽåäœã«åŸãããã«ãªããŸããããã®åäœããªãŒããŒã©ã€ãããã«ã¯ã
usePlatformDefaultWidth
ã false ã«èšå®ããŸããïŒIffaedãb/192682388ïŒ InfiniteAnimationPolicy
ã :compose:ui ã«ç§»åããŸãããïŒI5eb09ãb/160602714ïŒ- é å»¶ãªã¹ããšéåžžã®ã¹ã¯ããŒã« ã³ã³ããŒãã³ãã«å¯Ÿããã»ãã³ãã£ã¯ã¹ ã¢ã¯ã·ã§ã³ã«ããã¹ã¯ããŒã«ãã¢ãã¡ãŒã·ã§ã³åãããããã«ãªããŸãããïŒId9066ãb/190742024ïŒ
ããŒãžã§ã³ 1.0
ããŒãžã§ã³ 1.0.5
2021 幎 11 æ 3 æ¥
androidx.compose.ui:ui-*:1.0.5
ããªãªãŒã¹ãããŸãããããŒãžã§ã³ 1.0.5 ã«å«ãŸãã commit ã«ã€ããŠã¯ããã¡ããã芧ãã ããã
ãã°ã®ä¿®æ£
- derivedStateOf ã€ã³ã¹ã¿ã³ã¹ããã©ããã³ã°ããã¯ã©ãã·ã¥ãä¿®æ£ããŸãããïŒaosp/1792247ïŒ
ããŒãžã§ã³ 1.0.4
2021 幎 10 æ 13 æ¥
androidx.compose.ui:ui-*:1.0.4
ããªãªãŒã¹ãããŸãããããŒãžã§ã³ 1.0.4 ã«å«ãŸãã commit ã«ã€ããŠã¯ããã¡ããã芧ãã ããã
äŸåé¢ä¿ã®æŽæ°
- Kotlin
1.5.31
ã«äŸåããããã«æŽæ°ããŸããã
ããŒãžã§ã³ 1.0.3
2021 幎 9 æ 29 æ¥
androidx.compose.ui:ui-*:1.0.3
ããªãªãŒã¹ãããŸãããããŒãžã§ã³ 1.0.3 ã«å«ãŸãã commit ã«ã€ããŠã¯ããã¡ããã芧ãã ããã
äŸåé¢ä¿ã®æŽæ°
- Kotlin
1.5.30
ã«äŸåããããã«æŽæ°ããŸããã
ããŒãžã§ã³ 1.0.2
2021 幎 9 æ 1 æ¥
androidx.compose.ui:ui-*:1.0.2
ããªãªãŒã¹ãããŸãããããŒãžã§ã³ 1.0.2 ã«å«ãŸãã commit ã«ã€ããŠã¯ããã¡ããã芧ãã ããã
Compose 1.0.2
ãªãªãŒã¹ããµããŒãããããã«æŽæ°ããŸãããCompose 1.0.2
ã¯ãåŒãç¶ã Kotlin 1.5.21
ãšäºææ§ããããŸãã
ããŒãžã§ã³ 1.0.1
2021 幎 8 æ 4 æ¥
androidx.compose.ui:ui-*:1.0.1
ããªãªãŒã¹ãããŸãããããŒãžã§ã³ 1.0.1 ã«å«ãŸããå«ãŸãã commit ã«ã€ããŠã¯ããã¡ããã芧ãã ããã
äŸåé¢ä¿ã®æŽæ°
- Kotlin
1.5.21
ã«äŸåããããã«æŽæ°ããŸããã
ããŒãžã§ã³ 1.0.0
2021 幎 7 æ 28 æ¥
androidx.compose.ui:ui-*:1.0.0
ããªãªãŒã¹ãããŸãããããŒãžã§ã³ 1.0.0 ã«å«ãŸãã commit ã«ã€ããŠã¯ããã¡ããã芧ãã ããã
1.0.0 ã®äž»ãªæ©èœ
ãã㯠Compose ã®æåã®å®å®çãªãªãŒã¹ã§ãã詳现ã«ã€ããŠã¯ãCompose ãªãªãŒã¹ã®å ¬åŒããã°ãã芧ãã ããã
æ¢ç¥ã®åé¡
Android Studio Bumblebee Canary 4 ãŸã㯠AGP
7.1.0-alpha04
/7.1.0-alpha05
ã䜿çšããŠããå Žåãæ¬¡ã®ã¯ã©ãã·ã¥ãçºçããããšããããŸããjava.lang.AbstractMethodError: abstract method "void androidx.lifecycle.DefaultLifecycleObserver.onCreate(androidx.lifecycle.LifecycleOwner)"
ä¿®æ£ããã«ã¯ã
build.gradle
ãã¡ã€ã«ã§äžæçã« minSdkVersion ã 24 以äžã«å€æŽããŸãããã®åé¡ã¯ã次æããŒãžã§ã³ã® Android Studio Bumblebee ãš AGP7.1
ã§ä¿®æ£ãããäºå®ã§ããïŒb/194289155ïŒ
ããŒãžã§ã³ 1.0.0-rc02
2021 幎 7 æ 14 æ¥
androidx.compose.ui:ui-*:1.0.0-rc02
ããªãªãŒã¹ãããŸãããããŒãžã§ã³ 1.0.0-rc02 ã«å«ãŸãã commit ã«ã€ããŠã¯ããã¡ããã芧ãã ããã
ãã°ã®ä¿®æ£
- ãã€ã¢ãã°ããã©ãããã©ãŒã ã®ãµã€ãºèª¿æŽåäœã«åŸãããã«ãªããŸããããã®åäœããªãŒããŒã©ã€ãããã«ã¯ã
usePlatformDefaultWidth
ã false ã«èšå®ããŸããïŒIffaedãb/192682388ïŒ
ããŒãžã§ã³ 1.0.0-rc01
2021 幎 7 æ 1 æ¥
androidx.compose.ui:ui-*:1.0.0-rc01
ããªãªãŒã¹ãããŸãããããŒãžã§ã³ 1.0.0-rc01 ã«å«ãŸãã commit ã«ã€ããŠã¯ããã¡ããã芧ãã ããã
æ°æ©èœ
- ui-tooling ã¢ãžã¥ãŒã«ã
ui-tooling
ãšui-tooling-preview
ã«åå²ããŸãããïŒIefa28ãb/190649014ïŒ
API ã®å€æŽ
- éæšå¥šã«ãªã£ã詊éšéçšçã®
FocusManager#moveFocusIn
ãšFocusManager#moveFocusOut
ãåé€ããŸãããïŒI227d7ãb/170154986ãb/186567354ãb/168510304ïŒ - Canvas ããŠãŒã¶ãŒè£å©çšã® contentDescription ãã©ã¡ãŒã¿ããµããŒãããããã«ãªããŸãããïŒIb547cïŒ
PopupProperties
ã®useDefaultMaxWidth
ã®ååãusePlatformDefaultWidth
ã«å€æŽããŸãããïŒI05710ïŒ- ãã€ã¢ãã°ãç»é¢ã®å¹ å šäœã䜿çšã§ããããã«ãªããŸãããïŒI83929ãb/190810877ïŒ
- 詊éšéçšçã® HSV / HSL ã«ã©ãŒè¡šçŸãµããŒãã远å ããŸãããïŒId7cf8ãb/180731008ïŒ
åäœã®å€æŽ
- Compose
@Preview
ãLocalActivityResultRegistryOwner
ãæäŸããæ¢åã®ãªãŒããŒã«äŸåããrememberLauncherForActivityResult()
ã®ãã㪠API ã䜿çšããã³ã³ããŒã¶ãã«ããã¬ãã¥ãŒã§ããããã«ãªããŸãããïŒIb13d1ãb/185693006ïŒ - Compose
@Preview
ãLocalOnBackPressedDispatcherOwner
ãæäŸããæ¢åã®ãªãŒããŒã«äŸåããBackHandler
ã®ãã㪠API ã䜿çšããã³ã³ããŒã¶ãã«ããã¬ãã¥ãŒã§ããããã«ãªããŸãããïŒIa1c05ãb/185693006ïŒ
ãã°ã®ä¿®æ£
androidx.compose.ui:ui
ã«InfiniteAnimationPolicy
ãç§»åããŸãããïŒI5eb09ãb/160602714ïŒ- ã¢ãžã¥ãŒã«æ§é ã倿ŽãããããAnimatedImageVector ãäžæçã«åé€ããŸãããïŒI41906ãb/160602714ïŒ
ããŒãžã§ã³ 1.0.0-beta09
2021 幎 6 æ 16 æ¥
androidx.compose.ui:ui-*:1.0.0-beta09
ããªãªãŒã¹ãããŸãããããŒãžã§ã³ 1.0.0-beta09 ã«å«ãŸãã commit ã«ã€ããŠã¯ããã¡ããã芧ãã ããã
API ã®å€æŽ
- åæåã® Role ãš LiveRegionMode ãããã©ã€ããŒã ã³ã³ã¹ãã©ã¯ã¿ãå«ãã€ã³ã©ã€ã³ ã¯ã©ã¹ã«å€æŽããŸãããïŒId1890ïŒ
- KeyboardCapitalization ãã€ã³ã©ã€ã³ ã¯ã©ã¹ã«å€æããŸãããïŒId5a1cïŒ
- HapticFeedbackType ãã€ã³ã©ã€ã³ ã¯ã©ã¹ã«å€æŽããŸãããïŒI255ecïŒ
- Modifier.pointerInteropFilter 㯠@ExperimentalComposeUiApi ã§ããïŒIede6cïŒ
- TextAlignãFontSynthesisãTextDirection ãã€ã³ã©ã€ã³ ã¯ã©ã¹ã«ãªããŸãããïŒI212feïŒ
- TextOverflow ãã€ã³ã©ã€ã³ ã¯ã©ã¹ã«å€æŽããŸãããïŒI433afïŒ
- FontStyle ãã€ã³ã©ã€ã³ ã¯ã©ã¹ã«ãªããŸãããïŒI9e48bïŒ
ãã°ã®ä¿®æ£
- çŸåšã®ãšãããããŒå®æ°ã¯ @ExperimentalComposeUiApi ã§ããã³ãŒãã䜿çšãããšãå®å®åã«å ç«ã£ãŠãã©ã€ããŒã宿°ã宣èšã§ããŸããïŒIa5d48ïŒ
- Robolectric ã§ Compose ãã¹ããå®è¡ã§ããããã«ãªããŸããããããŸã§ã®ãšããç¹å®ãããŠããå¶éã¯ä»¥äžã®ãšããã§ãã
- ãã€ãã£ã ããããããããªãããã
ImageBitmap()
ã«ãã NullPointerException ãçºçããŸãã - æç»ããªãããã
captureToImage()
ã¯æ¬¡ã®æç»ãã¹ãç¡æéã«åŸ æ©ããŸãïŒã€ãŸãããããããã¯ã«ãªããŸãïŒã - ãã©ã³ããèªã¿èŸŒãŸããŠããªããããããã¹ããæ£ããæž¬å®ãããŸããããã¹ãŠã®æåã®é«ãã¯çŽ 20 pxãå¹ ã¯çŽ 1 px ã«åºå®ãããŸãã
ComposeTestRule.waitUntil {}
ã¯åŸ æ©äžã«ã¡ã€ã³ã¹ã¬ãããå®è¡ããªããããå®è³ªçã«ComposeTestRule.mainClock.advanceTimeUntil {}
ãšåãã§ããä»åŸãããã«å¶éãç¹å®ãããèŠèŸŒã¿ã§ããïŒI284faïŒ
- ãã€ãã£ã ããããããããªãããã
ãããã¡ã€ã« ã«ãŒã«ã®è¿œå
ãã®ãªãªãŒã¹ã§ã¯ã以äžã® compose ã¢ãžã¥ãŒã«ã«ãããã¡ã€ã« ã«ãŒã«ã远å ãããŸãããïŒI14ed6ïŒ
- androidx.compose.animation
- androidx.compose.animation-core
- androidx.compose.foundation
- androidx.compose.foundation-layout
- androidx.compose.material
- androidx.compose.material-ripple
- androidx.compose.runtime
- androidx.compose.ui
- androidx.compose.ui.geometry
- androidx.compose.ui.graphics
- androidx.compose.ui.text
- androidx.compose.ui.text
- androidx.compose.ui.unit
- androidx.compose.ui.util
ãããã¡ã€ã« ã«ãŒã«ãšã¯
ã©ã€ãã©ãªã®ãããã¡ã€ã« ã«ãŒã«ã¯ã
src/main
ãŸãã¯åçã®ãã£ã¬ã¯ããªã«ããããã¹ã ãã¡ã€ã«baseline-prof.txt
ã§æå®ããŸãããã®ãã¡ã€ã«ã§ã¯ã1 è¡ã« 1 ã€ãã€ã«ãŒã«ãæå®ããŸããããã§ã®ã«ãŒã«ã¯ãã©ã€ãã©ãªå ã®ã¡ãœãããŸãã¯ã¯ã©ã¹ãšåèŽãããã¿ãŒã³ã§ããã«ãŒã«ã®æ§æã¯ã人ãèªãã ART ãããã¡ã€ã«åœ¢åŒã®ã¹ãŒããŒã»ããã§ãadb shell profman --dump-classes-and-methods ...
ã䜿çšããéã«äœ¿çšãããŸããã«ãŒã«ã¯ãã¡ãœãããŸãã¯ã¯ã©ã¹ãã¿ãŒã²ãããšãã 2 ã€ã®åœ¢åŒã®ããããã䜿çšããŸããã¡ãœããã«ãŒã«ã®ãã¿ãŒã³ã¯æ¬¡ã®ããã«ãªããŸãã
<FLAGS><CLASS_DESCRIPTOR>-><METHOD_SIGNATURE>
ã¯ã©ã¹ã«ãŒã«ã®ãã¿ãŒã³ã¯æ¬¡ã®ããã«ãªããŸãã
<CLASS_DESCRIPTOR>
äžèšã®
<FLAGS>
ã«ã¯ããã®ã¡ãœããã«ãããããããèµ·åãããŸãã¯ãèµ·ååŸãã®ãã©ã°ãä»ããå Žåã«ããããæåH
ãS
ãP
ïŒ1 ã€ãŸãã¯è€æ°ïŒãå ¥åããŸãã<CLASS_DESCRIPTOR>
ã¯ãã¿ãŒã²ãããšãªãã¡ãœãããå±ããã¯ã©ã¹ã®èšè¿°åã§ããããšãã°ãã¯ã©ã¹androidx.compose.runtime.SlotTable
ã®èšè¿°åã¯ãLandroidx/compose/runtime/SlotTable;
ã§ãã<METHOD_SIGNATURE>
ã¯ã¡ãœããã®ã·ã°ããã£ã§ãã¡ãœããã®ååããã©ã¡ãŒã¿ã®åãæ»ãå€ã®åãå«ã¿ãŸããããšãã°ãLayoutNode
ã®ã¡ãœããfun isPlaced(): Boolean
ã®ã·ã°ããã£ã¯ãisPlaced()Z
ã§ãã1 ã€ã®ã«ãŒã«ã«è€æ°ã®ã¡ãœãããŸãã¯ã¯ã©ã¹ãå«ããå Žåã¯ããããã®ãã¿ãŒã³ã«ã¯ã€ã«ãã«ãŒãïŒ
**
ã*
ã?
ïŒã䜿çšã§ããŸãã
ã«ãŒã«ã®æ©èœ
ãã©ã°
H
ãä»ããŠããã¡ãœããã¯ããã®ã¡ãœããããããããã¡ãœããã§ãããäºåã³ã³ãã€ã«ãå¿ èŠã§ããããšã瀺ããŸããS
ãã©ã°ãä»ããŠããã¡ãœããã¯ããã®ã¡ãœãããèµ·åæã«åŒã³åºãããã¡ãœããã§ãããã³ã³ãã€ã«ã®ã³ã¹ããšèµ·åæã«ã¡ãœãããè§£éããã³ã¹ããåé¿ããããã«äºåã³ã³ãã€ã«ãå¿ èŠã§ããããšã瀺ããŸããP
ãã©ã°ãä»ããŠããã¡ãœããã¯ããã®ã¡ãœãããèµ·ååŸã«åŒã³åºãããããšã瀺ããŸãããã®ãã¡ã€ã«ã«ååšããã¯ã©ã¹ã¯ããã®ã¯ã©ã¹ãèµ·åæã«äœ¿çšãããã¯ã©ã¹ã§ãããã¯ã©ã¹èªã¿èŸŒã¿ã®ã³ã¹ããåé¿ããããã«ããŒãã§äºåå²ãåœãŠããå¿ èŠãããããšã瀺ããŠããŸãã
ã«ãŒã«ã®ä»çµã¿
- ã©ã€ãã©ãªã¯ãAAR ã¢ãŒãã£ãã¡ã¯ãã«ããã±ãŒãžããã«ãŒã«ãå®çŸ©ã§ããŸãããããã®ã¢ãŒãã£ãã¡ã¯ããå«ãã¢ããªããã«ãããããšãã«ãŒã«ãçµåãããŸããçµåãããã«ãŒã«ã¯ãã¢ããªã«åºæã®ã³ã³ãã¯ã ãã€ã㪠ART ãããã¡ã€ã«ããã«ãããããã«äœ¿çšãããŸããART ã§ã¯ãã¢ããªãããã€ã¹ã«ã€ã³ã¹ããŒã«ãããéã«ãã®ãããã¡ã€ã«ãå©çšããŠãã¢ããªã®ç¹å®ã®éšåãäºåã«ã³ã³ãã€ã«ããã¢ããªã®ããã©ãŒãã³ã¹ïŒç¹ã«ååå®è¡æïŒãæ¹åã§ããŸãããªããããã¯ãããã°å¯èœãªã¢ããªã«ã¯åœ±é¿ããŸããã
ããŒãžã§ã³ 1.0.0-beta08
2021 幎 6 æ 2 æ¥
androidx.compose.ui:ui-*:1.0.0-beta08
ããªãªãŒã¹ãããŸãããããŒãžã§ã³ 1.0.0-beta08 ã«å«ãŸãã commit ã«ã€ããŠã¯ããã¡ããã芧ãã ããã
API ã®å€æŽ
NestedScrollSource
åæåãã€ã³ã©ã€ã³ ã¯ã©ã¹ã«çœ®ãæããããŸãããïŒIe321bãb/187055290ïŒFocusManager.clearFocus(forcedClear = true)
ã®ååãFocusManager.clearFocus(force = true)
ã«å€æŽããŸãããïŒIa0c41ïŒ- åæåã®äœ¿çšãã€ã³ã©ã€ã³ ã¯ã©ã¹ã«ãªãã¡ã¯ã¿ãªã³ã°ããŠãæ°ããåæå€ã®è¿œå æã«ç¶²çŸ ç㪠when ã¹ããŒãã¡ã³ãã®åé¡ãåé¿ã§ããããã«ããŸãããïŒI2b5ebïŒ
PopupProperties
ãã@ExperimentalComposeUiApi
ãåé€ããŸãããïŒI01fa6ïŒPointerType
ãåæåããã€ã³ã©ã€ã³ ã¯ã©ã¹ã«å€æŽãããŸãããïŒIf5058ïŒ- ContentDescription ãš Text ã®ã»ãã³ãã£ã¯ã¹ ããããã£ããåäžã®å€ã§ã¯ãªããªã¹ãã«ãªããé£çµã§ã¯ãªããã®ãŸãŸçµåã§ããããã«ãªããŸããããŸãããããã®å€æŽã掻çšã§ããããã«æ¹åããããã¹ã API ãæäŸãããŠããŸããïŒIca6bfãb/184825850ïŒ
Modifier.focusModifier()
ãéæšå¥šãšãªããModifier.focusTarget()
ã«çœ®ãæããããŸãããïŒI6c860ïŒModifier.onSizeChanged()
ãšModifier.onGloballyPositioned()
ãã€ã³ã©ã€ã³é¢æ°ã§ã¯ãªããªããŸãããïŒI727f6ãb/186109675ïŒKeyboardType
åæåãã€ã³ã©ã€ã³ ã¯ã©ã¹ã«çœ®ãæããããŸãããïŒI73045ãb/187055290ïŒFocusState
åæåãFocusState
ã€ã³ã¿ãŒãã§ãŒã¹ã«çœ®ãæããããŸãããïŒIccc1aãb/187055290ïŒ- ImeAction åæåãã€ã³ã©ã€ã³ ã¯ã©ã¹ã«çœ®ãæããããŸãããïŒI18be5ãb/187055290ïŒ
PlaceholderVerticalAlign
ãã€ã³ã©ã€ã³ ã¯ã©ã¹ã«å€æãããŸãããïŒIf6290ïŒ- TextUnitType ãã€ã³ã©ã€ã³ ã¯ã©ã¹ã«ãªããŸãããïŒI4cba9ïŒ
AnnotatedString.withAnnotation
颿°ã ExperimentalComposeApi ã§ã¯ãªã ExperimentalTextApi ã«ãªããŸãããïŒI0cd0aïŒ- TextUnitType ãæå®ããã TextUnit ã³ã³ã¹ãã©ã¯ã¿ããExperimentalComposeApi ã§ã¯ãªã ExperimentalTextApi ã«ãªããŸããã
ãã°ã®ä¿®æ£
- ã¹ã¯ããŒã«åŸã« LazyColumn / Row ã¢ã€ãã ãéšåçã«è¡šç€ºããããbeta07 ã®ãã°ãä¿®æ£ããŸãããïŒI8c9acãb/188566058ïŒ
detectDragGesures
ãdetectVerticalGestures
ãdetectHorizontalGestures
ãäœçœ®å€æŽãèªåçã«äœ¿çšããããã«ãªããonDrag ã³ãŒã«ããã¯ã§ change.consumePositionChange ãåŒã³åºãå¿ èŠããªããªããŸããïŒI42fc4ãb/185096350ãb/187320697ïŒ- æŽåã©ã€ã³ãæäŸãã LayoutModifiers ãä¿®æ£ããŸãããåã®æŽåã©ã€ã³ã倿Žããããšãã«èŠªãåæž¬å®ãããªããã°ãä¿®æ£ããŸãããïŒI4401fãb/174315652ïŒ
Modifier.onGloballyPositioned()
ã¯ããã¹ãŠã®ä¿®é£Ÿåãé©çšããåŸã®ã¬ã€ã¢ãŠã座æšã§ã¯ãªãã修食åãã§ãŒã³å ã®ãã®ä¿®é£Ÿåã®åº§æšãå ±åããããã«å€æŽãããŸãããããã«ãããå ±åããã座æšãã修食åã®é åºã®åœ±é¿ãåããããã«ãªããŸãããïŒIeb67dãb/177926591ïŒ
ããŒãžã§ã³ 1.0.0-beta07
2021 幎 5 æ 18 æ¥
androidx.compose.ui:ui-*:1.0.0-beta07
ããªãªãŒã¹ãããŸãããããŒãžã§ã³ 1.0.0-beta07 ã«å«ãŸãã commit ã«ã€ããŠã¯ããã¡ããã芧ãã ããã
API ã®å€æŽ
- ã€ã³ã¹ãã¯ã¿ã§äœ¿çšãã
ViewRootForInspector
ã€ã³ã¿ãŒãã§ãŒã¹ã远å ããŸãããïŒIb70dfïŒ SubcomposeLayoutState
ãå䜿çšå¯èœãªã¹ãããã®æ°ã®èšå®ããµããŒãããããã«ãªããŸãããã¬ã€ã¢ãŠãã¯ãæ°ããã¹ããããæ¬¡ã«å¿ èŠã«ãªã£ããšãã«ã¹ããããå䜿çšããããã«ãã¹ããããç Žæ£ããã®ã§ã¯ãªããæå€§ã§ãã®æ°ã®ã¹ããããæå¹ã«ããŠãããŸããïŒIeb981ïŒ- KeyEventType åæåãã€ã³ã©ã€ã³ ã¯ã©ã¹ã«çœ®ãæããããŸãããïŒId670aãb/187055290ïŒ
FocusDirection
åæåãã€ã³ã©ã€ã³ ã¯ã©ã¹ã«çœ®ãæããããŸãããïŒIb6d03ãb/187055290ãb/184086802ïŒ- SubcomposeLayout ã®ç¶æ ããã€ã¹ãã£ã³ã°ããæ©èœãå°å ¥ããŸãããããã«ãããå¿ èŠãª slotId ã«ã³ã³ãã³ããäºåã³ã³ããŒãºã§ããããã«ãªããã³ã³ããžã·ã§ã³ã次ã«å¿ èŠãªããªã£ããšãã«æå®ããã slotId ã§ãµãã³ã³ããŒãºããããšããéã®æ¬¡åã®æž¬å®ãã¹ãéããªããŸããïŒI42580ãb/184940225ïŒ
- ã¯ãªããéžæãã³ãã«ã远å ããŸãããïŒIff80dãb/183408447ïŒ
- LayoutInspector ã®ãµããŒãã«é¢é£ããäžèŠãª API ãåé€ããŸãããïŒI2ac78ïŒ
ãã°ã®ä¿®æ£
- LazyColumn/Row ã¯ãã¹ã¯ããŒã«ãããŠç»é¢ããæ¶ãããšãã§ããåã«è¡šç€ºãããŠããã¢ã¯ãã£ããªïŒç Žæ£ãããŠããªãïŒã¢ã€ãã ãæå€§ 2 ã€ãŸã§ç¶æããããã«ãªããŸãããããã«ãããã¹ã¯ããŒã«ã®ããã©ãŒãã³ã¹ãæ¹åããæ°ããã¢ã€ãã ãã³ã³ããŒãºããå¿ èŠãããå Žåã«ãã³ã³ããŒãã³ããã¢ã¯ãã£ããªãµãã³ã³ããžã·ã§ã³ãåå©çšããããšãå¯èœã«ãªããŸããïŒIe5555ïŒ
AnnotatedString
ã®TextGeomerticTransform
ãšTextDecoration
ãæå®ã©ããé©çšãããããã«ãªããŸãããïŒI61900ãb/184760917ïŒ
ããŒãžã§ã³ 1.0.0-beta06
2021 幎 5 æ 5 æ¥
androidx.compose.ui:ui-*:1.0.0-beta06
ããªãªãŒã¹ãããŸãããããŒãžã§ã³ 1.0.0-beta06 ã«å«ãŸãã commit ã«ã€ããŠã¯ããã¡ããã芧ãã ããã
API ã®å€æŽ
- ããã²ãŒã·ã§ã³ ãžã§ã¹ãã£ãŒãšã®ç«¶åã解決ããŸããïŒI1145eïŒ
@ComposeCompilerApi
ã@RequiresOptIn
ã§ã¯ãªããªããŸãããïŒIab690ïŒ- ã³ã¬ã¯ã·ã§ã³ãšãã®ã¢ã€ãã ããŠãŒã¶ãŒè£å©ãµãŒãã¹ã«æå®ã§ãã CollectionInfo ãš CollectionItemInfo ãŠãŒã¶ãŒè£å© API ã远å ããŸãããïŒId54efãb/180479017ïŒ
- ã€ã³ããã¯ã¹ç»é²ãããã¢ã€ãã ã®ãªã¹ããç¹å®ã®ã€ã³ããã¯ã¹ãä»å ãããã¢ã€ãã ã«ã¹ã¯ããŒã«ãã
SemanticsActions.ScrollToIndex
ãšãããŒãæã€ã¢ã€ãã ã䜿çšããŠãªã¹ãå ã®ã¢ã€ãã ã®ã€ã³ããã¯ã¹ãååŸããSemanticsProperties.IndexForKey
ã远å ããŸãããã©ã¡ãã®ã¢ã¯ã·ã§ã³ã LazyList ã«ãã£ãŠå®è£ ãããŸãã- æå®ãããã€ã³ããã¯ã¹ã«ãªã¹ããã¹ã¯ããŒã«ãã
SemanticsNodeInteraction.performScrollToIndex
ãšãæå®ãããããŒãæã€ã¢ã€ãã ã«ãªã¹ããã¹ã¯ããŒã«ããSemanticsNodeInteraction.performScrollToKey
ã远å ããŸãããïŒI4fe63ãb/178483889ãb/161584524ïŒ
- æå®ãããã€ã³ããã¯ã¹ã«ãªã¹ããã¹ã¯ããŒã«ãã
- ownerViewId ã GraphicLayerInfo ã«è¿œå ããŸãããïŒI19f62ïŒ
- ã¢ã»ãããFileãFileDescriptor ãããã©ã³ããèªã¿èŸŒãããã® Font() ãªãŒããŒããŒãã远å ããŸãããïŒI5d382ïŒ
- ç¡å¹ãªå
¥åãå«ãããŒããããŒã¯ã§ãããŠãŒã¶ãŒè£å© API
error
ã远å ããŸãããïŒI12997ãb/180584804ãb/182142737ïŒ - ã¢ã»ãããFileãFileDescriptor ãããã©ã³ããèªã¿èŸŒãããã®
Font()
ãªãŒããŒããŒãã远å ããŸãããïŒI43007ïŒ TextFieldValue.Saver
ã« AnnotatedString ä¿åãµããŒãã远å ããŸãããAnnotatedString.Builder
ã«addTtsAnnotation
ãš withAnnotation ãŠãŒãã£ãªãã£é¢æ°ã远å ããŸãããïŒI8cbdcãb/178446304ïŒ- TextUnit ã³ã³ã¹ãã©ã¯ã¿é¢æ°
TextUnit(value: Float, type: TextUnitType)
ã远å ããŸãããïŒI7ecceãb/178446304ïŒ
ããŒãžã§ã³ 1.0.0-beta05
2021 幎 4 æ 21 æ¥
androidx.compose.ui:ui-*:1.0.0-beta05
ããªãªãŒã¹ãããŸãããããŒãžã§ã³ 1.0.0-beta05 ã«å«ãŸãã commit ã«ã€ããŠã¯ããã¡ããã芧ãã ããã
API ã®å€æŽ
- 詊éšéçšçã®
FocusManager.moveFocus(In)
ãšFocusManager.moveFocus(Out)
ã远å ããŸãããïŒIc5534ãb/183746743ïŒ - 詊éšéçšçã®
performTextInputSelection
API ã远å ããŸãããïŒI2dcbbãb/178510628ïŒ InputEventCallback
ã€ã³ã¿ãŒãã§ãŒã¹ã¯éæšå¥šã«ãªããŸããããã®ã€ã³ã¿ãŒãã§ãŒã¹ã¯ãã©ã®å ¬é API ã§ã䜿çšã§ããªãã£ããããã³ãŒãã§ã¯äœ¿çšãããŸããã§ãããïŒI34a02ãb/184003208ïŒTextLayoutResult/createTextLayoutResult
颿°ã¯éæšå¥šã«ãªããŸãããããã¯ããã¹ãçšã«è¿œå ãããæªäœ¿çšã®ãããªãã¯é¢æ°ã§ãããã®é¢æ°ã¯ãCompose ããã¹ã API ã«äœ¿çšå¯èœãªããšã¯äœãè¡ããŸããããã®é¢æ°ã¯éæšå¥šã«ãªããä»åŸåé€ãããäºå®ã§ããïŒI80413ïŒ
ãã°ã®ä¿®æ£
ACTION_SCROLL_FORWARD
ãACTION_SCROLL_BACKWARD
ãaccessibilityActionScrollLeft
ãaccessibilityActionScrollUp
ãaccessibilityActionScrollRight
ãaccessibilityActionScrollDown
ã®ãŠãŒã¶ãŒè£å©ã®ã¹ã¯ããŒã«æäœãä¿®æ£ããŸãããã¹ã¯ããŒã«å¯èœãªç¯å²ã®çµãããŸã§ã¹ã¯ããŒã«ããã代ããã«ãç¹å®ã®æ¹åã« 1 ç»é¢ãã€ã¹ã¯ããŒã«ãããããã«ãªããŸãããïŒIeccb0ïŒ- ui-test-manifest ãš ui-tooling-data ã® AndroidManifest ãã¡ã€ã«ã«ãAndroid 12 ãšã®äºææ§ãåãããŸãããïŒI6f9deãb/184718994ïŒ
ããŒãžã§ã³ 1.0.0-beta04
2021 幎 4 æ 7 æ¥
androidx.compose.ui:ui-*:1.0.0-beta04
ããªãªãŒã¹ãããŸãããããŒãžã§ã³ 1.0.0-beta04 ã«å«ãŸãã commit ã«ã€ããŠã¯ããã¡ããã芧ãã ããã
API ã®å€æŽ
SoftwareKeyboardController
ã®hideSoftwareKeyboard
ãšshowSoftwareKeyboard
ã®ååããããããhide()
ãšshow()
ã«å€æŽããŸããã- å®å šãª CompositionLocal ã€ã³ã¿ãŒãã§ãŒã¹ãæäŸããŠãLocalSoftwareKeyboardController ãèšå®ã§ããããã«ããŸããïŒç¹ã«ãã¹ãã«åœ¹ç«ã¡ãŸãïŒãïŒI579a6ïŒ
- LiveRegion ãŠãŒã¶ãŒè£å© API ã远å ãããŸãããããŒããã©ã€ã ãªãŒãžã§ã³ãšããŒã¯ãããŠããå Žåã«ããŠãŒã¶ãŒè£å©ãµãŒãã¹ããŠãŒã¶ãŒã«ãã®å€æŽãèªåçã«ç¥ãããŸããïŒIdcf6fãb/172590946ïŒ
- TextOverflow.Visible ãå°å ¥ãããŸãããïŒIc8f89ïŒ
ãã°ã®ä¿®æ£
- ãšããžã®
LazyColumn
/LazyRow
ã®ã¢ã€ãã ãé«éããªã³ã°ã®åŸã«æ£ããé 眮ãããªãåé¡ãä¿®æ£ããŸãããïŒIe4d13ãb/183877420ïŒ AndroidViewBinding
ã Compose éå±€ããåé€ããããšãã«ãFragmentContainerView
ãä»ããŠã€ã³ãã¬ãŒãããããã©ã°ã¡ã³ããAndroidViewBinding
ãé©åã«åé€ããããã«ãªããŸãããïŒIb0248ãb/179915946ïŒComposeView
ãFragment
å ã«ããå Žåã«ãFragmentContainerView
ãä»ããŠã€ã³ãã¬ãŒãããããã©ã°ã¡ã³ããAndroidViewBinding
ãæ£ãããã¹ãããããã«ãªãããããã®ãã©ã°ã¡ã³ãã®ç¶æ ã®ä¿åãšåŸ©å ã«é¢ããåé¡ãä¿®æ£ãããŸãããïŒI70eb0ãb/179915946ïŒ- Compose ViewBinding ã Fragment
1.3.2
ã«äŸåããããã«ãªããæ§æã®å€æŽåŸã«FragmentContainerView
ãä»ããŠã€ã³ãã¬ãŒãããããã©ã°ã¡ã³ãã®è¡šç€ºãæŽåããããã«ãªããŸãããïŒI0743dãb/179915946ïŒ
ããŒãžã§ã³ 1.0.0-beta03
2021 幎 3 æ 24 æ¥
androidx.compose.ui:ui-*:1.0.0-beta03
ããªãªãŒã¹ãããŸãããããŒãžã§ã³ 1.0.0-beta03 ã«å«ãŸãã commit ã«ã€ããŠã¯ããã¡ããã芧ãã ããã
API ã®å€æŽ
- ComposeView ã® ViewTree äŸåé¢ä¿ã®ãã§ãã¯ãå»¶æããŸãããïŒI8dbbfãb/182466548ïŒ
GestureScope
ã®swipeUp
/swipeDown
/swipeLeft
/swipeRight
颿°ã«ãªãã·ã§ã³ã®startX
/endX
ãšstartY
/endY
ã远å ããŸãããïŒI49e2dãb/182063305ïŒ
ããŒãžã§ã³ 1.0.0-beta02
2021 幎 3 æ 10 æ¥
androidx.compose.ui:ui-*:1.0.0-beta02
ããªãªãŒã¹ãããŸãããããŒãžã§ã³ 1.0.0-beta02 ã«å«ãŸãã commit ã«ã€ããŠã¯ããã¡ããã芧ãã ããã
API ã®å€æŽ
- TextField ã®ä»¥åã® SoftwareKeyboardController ã€ã³ã¿ãŒãã§ãŒã¹ã眮ãæãããæ°ãã
LocalSoftwareKeyboardController
ã³ã³ããžã·ã§ã³ ããŒã«ã« API ã远å ããŸãããïŒI5951eãb/168778053ïŒ - TextField ã®ä»¥åã® SoftwareKeyboardController ã€ã³ã¿ãŒãã§ãŒã¹ã眮ãæãããæ°ãã
LocalSoftwareKeyboardController
ã³ã³ããžã·ã§ã³ ããŒã«ã« API ã远å ããŸãããïŒI84472ãb/168778053ïŒ - 以äžã®
SemanticsMatcher
ãåé€ããŸãããhasWidth(width, tolerance)
hasHeight(height, tolerance)
hasLeftPosition(left, tolerance)
hasTopPosition(top, tolerance)
hasRightPosition(right, tolerance)
hasBottomPosition(bottom, tolerance)
ïŒIf16bdïŒ
- 以äžã®
SemanticsMatchers
ã @ExperimentalTestApi ãšããŠããŒã¯ããŸãããhasWidth(width, tolerance)
hasHeight(height, tolerance)
hasLeftPosition(left, tolerance)
hasTopPosition(top, tolerance)
hasRightPosition(right, tolerance)
hasBottomPosition(bottom, tolerance)
ïŒIa600cïŒ
- 以äžã®
SemanticsMatcher
ã远å ããŸãããhasWidth(width, tolerance)
hasHeight(height, tolerance)
hasLeftPosition(left, tolerance)
hasTopPosition(top, tolerance)
hasRightPosition(right, tolerance)
hasBottomPosition(bottom, tolerance)
ïŒI2f502ïŒ
ãã°ã®ä¿®æ£
- 詊éšéçšç API ã®äžè¬äœ¿çšã«å¯Ÿããå¶éãé©çšããŸããïŒI6aa29ãb/174531520ïŒ
androidx.compose.ui:ui
ã AppCompat ã Fragment ã«äŸåããªããªããŸãããã¢ããªã§ ComposeView ã䜿çšããŠãããšãã«ãFragment ãŸã㯠AppCompat ã䜿çšããŠããå Žåã¯ãAppCompat 1.3 以éãŸã㯠Fragment 1.3 以éã䜿çšããŠããããšã確èªããŠãã ãããComposeView ã«å¿ èŠãªã©ã€ããµã€ã¯ã«ãšä¿åæžã¿ç¶æ ã®ãªãŒããŒãæ£ããèšå®ããã«ã¯ããããã®ããŒãžã§ã³ãå¿ èŠã§ããïŒI1d6faãb/161814404ïŒ- navigation-compose ã®ãã¹ãã£ããŒã·ã§ã³å
ã§äœ¿çšãããš
rememberSaveable { mutableStateOf(0) }
ãå£ããåé¡ãä¿®æ£ããŸãããïŒI1312bãb/180042685ãb/180701630ïŒ - TextField ã®ä»¥åã® SoftwareKeyboardController ã€ã³ã¿ãŒãã§ãŒã¹ã眮ãæãããæ°ãã
LocalSoftwareKeyboardController
ã³ã³ããžã·ã§ã³ ããŒã«ã« API ã远å ããŸãããïŒI658b6ãb/168778053ïŒ ComposeRootRegistry
ã®tearDownRegistry()
ã§äœé »åºŠã§çºçãã NoSuchElementException ãä¿®æ£ããŸãããïŒIddce1ïŒ
ããŒãžã§ã³ 1.0.0-beta01
2021 幎 2 æ 24 æ¥
androidx.compose.ui:ui-*:1.0.0-beta01
ããªãªãŒã¹ãããŸãããããŒãžã§ã³ 1.0.0-beta01 ã«å«ãŸãã commit ã«ã€ããŠã¯ããã¡ããã芧ãã ããã
ããã¯ãCompose 1.0.0 ããŒã¿çã®æåã®ãªãªãŒã¹ã§ãã
API ã®å€æŽ
- onStart ã³ãŒã«ããã¯ã
detectDragGestures
ã«è¿œå ããŸããïŒI67269ãb/179995594ïŒ - çµã¿èŸŒã¿é¢æ°ã«åãããŠãµã€ãºå€æŽããããã®ä¿®é£Ÿåã詊éšéçšçã§ã¯ãªããªããŸãããïŒI15744ïŒ
- MeasureBlocks ã®ååã MeasurePolicy ã«å€æŽãããæ©èœçãªã€ã³ã¿ãŒãã§ãŒã¹ã«ãªããŸãããLayout API ããMeasurePolicy ã䜿çšããããã«æŽæ°ãŸãã¯ç°¡çŽ åããŸãããïŒIcab48ãb/167662468ãb/156751158ïŒ
InteractionState
ã[Mutable]InteractionSource
ã«çœ®ãæããŸããã- ã€ã³ã¿ãŒãã§ãŒã¹ã¯ãæäœã€ãã³ããéåä¿¡ãã圹å²ãæ ããŸãã
interactionState = remember { InteractionState() }
ãButton
ãModifier.clickable()
ãªã©ã®ã³ã³ããŒãã³ãã«æž¡ã代ããã«ãinteractionSource = remember { MutableInteractionSource() }
ã䜿çšããŸããInteraction.Pressed in interactionState
ã§ã¯ãªããInteractionSource ã§æ¡åŒµé¢æ°ïŒInteractionSource.collectIsPressedAsState() ãªã©ïŒã䜿çšããå¿ èŠããããŸãã- è€éãªãŠãŒã¹ã±ãŒã¹ã®å Žåã¯ãInteractionSource.interactions ã䜿çšããŠæäœãããŒã確èªã§ããŸãã詳ããã¯ãInteractionSource ã®ããã¥ã¡ã³ããšãµã³ãã«ãã芧ãã ããã
- ïŒI85965ãb/152525426ãb/171913923ãb/171710801ãb/174852378ïŒ
- CompositionLocals ã« AccessibilityMananger ã€ã³ã¿ãŒãã§ãŒã¹ãš LocalAccessibilityMananger ã远å ããŸãããïŒI53520ïŒ
- éæšå¥šã® LayoutCoordinates ã¡ãœãããåé€ããŸãããpositionInParent ãš boundsInParent ã®ããããã£ã®ä»£ããã«ã颿°ã䜿çšããŠãã ããïŒI580edãb/169874631ãb/175142755ïŒã
- åãšã€ãªã¢ã¹ããåºã«ãªãåã«çœ®ãæããããŸããã
ColorStop
ãPair<Float, Color>
ã«å€æŽãããŸãããSpanStyleRange
ã `AnnotatedString.Rangeã«å€æŽãããŸããã ParagraphStyleRange
ãAnnotatedString.Range<ParagraphStyle>
ã«å€æŽãããŸãããStringAnnotation
ãAnnotatedString.Range<String>
ã«å€æŽãããŸããã- ïŒI8dd1aïŒ
- äœã¬ãã«ã®ããã¹ã ã³ã³ããŒãã³ãïŒCoreTextField ãªã©ïŒããã®å ¥åã»ãã·ã§ã³çšã«ãæ°ãã TextInputSession ãäœæããŸãããïŒI8817fãb/177662148ïŒ
- Placeable ã¯ãåã¬ã€ã¢ãŠããå®éã«æž¬å®ãããµã€ãºã衚ã measuredSize ãå ¬éããããã«ãªããŸããããã®ãµã€ãºã¯æž¬å®ã®å¶çŽãèæ ®ããªãå ŽåããããŸããïŒIb2729ãb/172560206ãb/172338608ïŒ
- selectionGroup 修食åã远å ãããŠãŒã¶ãŒè£å©æ©èœãæäŸããããã«ã¿ããã©ãžãªãã¿ã³ã®ã³ã¬ã¯ã·ã§ã³ãããŒã¯ã§ããããã«ããŸãããïŒIe5c29ïŒ
compositionLocalOf
ãšstaticCompositionLocalOf
ã®defaultFactory
ã¯ããªãã·ã§ã³ã§ã¯ãªãå¿ é ã«ãªããŸããããã®å€æŽã«ãããnull å€é蚱容åïŒããã©ã«ã ãã¡ã¯ããªãæäŸãããŠããªãïŒã§çºçããå¯èœæ§ã®ããåãšã©ãŒãè§£æ¶ããŸããããããŸã§ã¯ãnull å€é蚱容åã«å¯Ÿã㊠null åç §ãæå®ããŠããŸããã
null å€èš±å®¹åã®å Žåã¯ã
{ null }
ãããã©ã«ã ãã¡ã¯ããªãšããŠæäŸããããšãæ€èšããŠãã ãããnull å€èš±å®¹åãæããªãããŒã«ã«å€æ°ã¯ãæå¹ãªããã©ã«ãå€ãæå®ããªãéãã䜿çšããªãããšãããããããŸããæå¹ãªããã©ã«ããååšããªãå Žåã
defaultFactory
ã©ã ãã¯äŸå€ãã¹ããŒããŸãããã ããäŸå€ãã¹ããŒããããšãããŒã«ã«å€æ°ã®ãŠãŒã¶ãŒã¯ããã®å€æ°ãåã·ã¹ãã ã§é©çšãããªããšããåæã§ããã®å€æ°ã«æé»çã«äŸåããããšã«ãªããŸããïŒIfbd2aïŒUI ã¢ãžã¥ãŒã«ããéæšå¥šã®ã¡ãœãããåé€ããŸãããïŒI646f6ïŒ
ãµã€ãºä¿®é£Ÿåã®ååã倿ŽããŸãããModifier.width/height/size ã®ååã requiredWidth/requiredHeight/requiredSize ã«å€æŽããŸãããModifier.preferredWidth/preferredHeight/preferredSize ã®ååã width/height/size ã«å€æŽããŸãããïŒI5b414ïŒ
Modifier.tapGestureFilter
ãåé€ããŸããã代ããã«Modifier.pointerInput { detectTapGestures(...) }
ã䜿çšããŠãã ãããïŒI266edãb/175294473ïŒäžéšã®æ¶è²»ããã€ã³ã¿å ¥åã·ã¹ãã ããåé€ããŸãããæ¶è²»ãéšåçã«èª¿æŽããå Žåã¯ãModifier.nestedScroll ã䜿çšããããšãããããããŸããïŒIe9c9bïŒ
Orientation ã foundation ããã±ãŒãžã«ç§»åããŸãããVelocirtTracker ã ui.gesture ãã ui.input.pointer ã«ç§»åããŸãããïŒIff4a8ãb/175294473ïŒ
imageResource ãš vectorResource ãããããã ImageBitmap ã³ã³ãããªã³ãš ImageVector ã³ã³ãããªã³ã®æ¡åŒµé¢æ°ã«ãªããŸããã
load{Image,Vector,Font}Resource
颿°ãåé€ããŸãããïŒI89130ïŒAnimationClockObservable ãšãµãã¯ã©ã¹ãåé€ããŸãããAnimatedFloat ãåé€ããŸãããïŒIcde52ãb/177457083ïŒ
ãããã€ãã®ååã CompositionLocalProvider ã«å€æŽããŸããã
- ã³ã³ããžã·ã§ã³ ã³ã³ã¹ãã©ã¯ã¿ãããŒãã©ã¡ãŒã¿ãåãå ¥ããªããªããéæšå¥šãšãªããŸããã
- currentCompositeKeyHash ããæ§æå¯èœãªãããã¬ãã«é¢æ°ã§ã¯ãªããæ§æå¯èœãªãããã¬ãã« ããããã£ã«ãªããŸããã
- CompositionData ãš CompositionGroup ã androidx.compose.runtime.tooling åå空éã«ç§»åããŸãã
- ComposableLambda ã¯å ·è±¡ã¯ã©ã¹ã§ã¯ãªãã€ã³ã¿ãŒãã§ãŒã¹ã«ãªããåãã©ã¡ãŒã¿ã¯å«ãŸããªããªããŸããã
- ComposableLambdaN ã¯å ·è±¡ã¯ã©ã¹ã§ã¯ãªãã€ã³ã¿ãŒãã§ãŒã¹ã«ãªããåãã©ã¡ãŒã¿ã¯å«ãŸããªããªããŸããã
- snapshotFlow 颿°ã androidx.compose.runtime åå空éã«ç§»åããŸãã
- SnapshotMutationPolicy ã®çµ±åã¡ãœããã¯è©Šéšéçšçã§ã¯ãªããªããŸãã
- @TestOnly ãããã¬ãã«ã® clearRoots 颿°ã¯åé€ãããäžèŠã«ãªããŸããã
- keySourceInfoOf 颿°ãš resetSourceInfo 颿°ã¯åé€ãããäžèŠã«ãªããŸããã
- Composer.collectKeySourceInformation ã¯åé€ãããäžèŠã«ãªããŸããã
- isJoinedKeyãjoinedKeyLeftãjoinedKeyRight ã®åã¡ãœãããåé€ãããäžèŠã«ãªããŸããã
- ããã€ãã®ãããã¬ãã« API ãå¥ã®ãã¡ã€ã«ã«ç§»åããåç·šæããŸãããKotlin ã®ãã¡ã€ã«ã¯ã©ã¹ ã»ãã³ãã£ã¯ã¹ã«ããããã€ããªãšã®äºææ§ã¯æãªãããŸãããœãŒã¹ã³ãŒããšã®äºææ§ã¯ç¶æãããã®ã§ãå€ãã®ãŠãŒã¶ãŒã«ãšã£ãŠåé¡ã«ã¯ãªããŸããã
- ïŒI99b7dãb/177245490ïŒ
ComponentActivity.setContent()
ã compose:ui ããåé€ããŸãããandroidx.activity:activity-compose:1.3.0-alpha01
ã®ãã®ã䜿çšããŠãã ãããviewModel()
ãšLocalViewModelStoreOwner
ã compose:ui ããåé€ããŸãããandroidx.lifecycle:lifecycle-viewmodel-compose:1.0.0-alpha01
ã®ãã®ã䜿çšããŠãã ãããïŒI6f36bïŒModifier.scrollable ãåæ§ç¯ããŸãããScrollableController ã¯ã©ã¹ã®ä»£ããã«ã¹ã¯ããŒã«å¯èœãªã€ã³ã¿ãŒãã§ãŒã¹ã䜿çšããããã«ãªããŸãããïŒI4f5a5ãb/174485541ãb/175294473ïŒ
PointerInputModifier ã® CustomEvens ãµããŒããåé€ããŸãããïŒI02707ãb/175294473ïŒ
SnapshotStateObserver ã詊éšéçšçã§ã¯ãªããªããŸãããïŒId2e6aïŒ
ãããŸã§ã«éæšå¥šãšãªã£ã API ãããã€ãåé€ããŸãããïŒIce5daãb/178633932ïŒ
longPressGestureFilter ãš doubleClickGestureFilter ãåé€ããŸãããModifier.pointerInput ãšãdetectTapGestures ãªã©ã®ãã«ããŒé¢æ°ã䜿çšããŠãã ãããïŒI2fedfãb/175294473ïŒ
ããŸããŸãª toString ã¡ãœããã§ã® String.format API ã®ãªãã¡ã¯ã¿ãªã³ã°äœ¿çšãåé€ããå éšã§ String.format ãå©çšããªãããã«ããŸãããïŒId1290ïŒ
dp ã¢ãµãŒã·ã§ã³ãåé€ããŸãããïŒI798d2ïŒ
androidx.compose.runtime:runtime-dispatch ãåé€ããŸãããïŒI55febïŒ
ããã¹ã ã¢ã¯ã·ã§ã³ã§ãã©ãŒã«ã¹ãèªåçã«ç¢ºèªããããã«ãªããŸãããïŒI13777ãb/179648629ïŒ
runBlockingWithManualClock
ãåé€ããŸããïŒI15cdcãb/179664814ïŒModifier.verticalScroll() / horizontalScroll() ã®ã¹ã¯ããŒã«äœçœ®ã Ints ã§è¡šãããããã«ãªããŸãããïŒI81298ïŒ
FlingConfig ã®ååã FlingBehavior ã«å€æŽããäºåå®çŸ©ããã Decay ã§ã¯ãªãäžæåæ¢ã¢ãã¡ãŒã·ã§ã³ãã«ã¹ã¿ãã€ãºã§ããããã«ããŸãããïŒI02b86ãb/175294473ïŒ
ãã¹ãŠã® ImeAction ã³ãŒã«ããã¯ã§åãã¢ã¯ã·ã§ã³ãèšå®ããã®ã«åœ¹ç«ã€ãã«ããŒé¢æ°ã远å ããŸãããïŒI63447ãb/179226323ïŒ
ãã¹ãŠã®ããã¹ã ãã£ãŒã«ããã SoftwareKeyboardController ã³ãŒã«ããã¯ãåé€ããããŸããªãæ°ãã API ã«çœ®ãæããããŸããïŒIae869ãb/168778053ïŒ
FontSpan ãš FontWeigthStyleSpan ã¯äœ¿çšãããªããªããåé€ããŸãããïŒIe5b56ãb/177423444ïŒ
以äžã® Material API 倿Žãå ããŸããã
- Top / BottomAppBar ã« contentPadding ãã©ã¡ãŒã¿ã远å ããããã©ã«ãã®ããã£ã³ã°ãã«ã¹ã¿ãã€ãºã§ããããã«ããŸããã
- API ã¬ã€ãã©ã€ã³ã«æ²¿ã£ãŠå¿ é ã®ãã©ã¡ãŒã¿ããªãã·ã§ã³ã®ãã©ã¡ãŒã¿ã®åã«ãªããããBackdropScaffold å ã®ãã©ã¡ãŒã¿ã®é åºã倿ŽããŸããã
- BottomNavigationItem ã®
icon
ãã©ã¡ãŒã¿ãselected
ãšonClick
ã®åŸãã«ãªãããç§»åããŸããã - BottomNavigationItem ã®
alwaysShowLabels
ãã©ã¡ãŒã¿ã®ååãalwaysShowLabel
ã«å€æŽããŸããã - äžéšã®ã³ã³ããŒãã³ãã®
bodyContent
ãã©ã¡ãŒã¿ã®ååãcontent
ã®ã¿ã«å€æŽããŸããã ButtonDefaults.buttonColors()
ã®ãã©ã¡ãŒã¿ã®é åºã倿ŽããŸããããã©ã¡ãŒã¿ã®åã¯å€æŽãããªããããããã«ããã³ãŒãã§ãšã©ãŒã¯çºçããŸãããååä»ããã©ã¡ãŒã¿ã䜿çšããããé åºãæåã§æŽæ°ããŠãã ãããããããªããšãã³ãŒãã¯ä»¥åãšåãããã«åäœããŸãããdarkColors()
ã«secondaryVariant
ãã©ã¡ãŒã¿ã远å ããŸãããéåžžããã®ã«ã©ãŒã¯ããŒã¯ããŒãã®secondary
ãšåãã§ãããæŽåæ§ãšã«ã¹ã¿ãã€ãºæ§åäžã®ããã«è¿œå ããŸããã- ElevationDefaults ãš animateElevation() ã¯ããŸã䜿çšãããã圹ã«ç«ã£ãŠããªããããå ¬é API ã®ãµãŒãã§ã¹ããåé€ããŸããã
Slider
ã®onValueChangeEnd
ã®ååãonValueChangeFinished
ã«å€æŽããnull å¯èœã«ããŸããã- æŽåæ§ã®ããã
Snackbar
ã®text
ãã©ã¡ãŒã¿ã®ååãcontent
ã«å€æŽããŸããã DropdownMenuItem
ã«contentPadding
ãã©ã¡ãŒã¿ã远å ããŠããã©ã«ãã®ããã£ã³ã°ãã«ã¹ã¿ãã€ãºã§ããããã«ããcontent
ãRowScope
ã®æ¡åŒµã«ããŸãããModalDrawerLayout
ã®ååãModalDrawer
ã«å€æŽããŸãããBottomDrawerLayout
ã®ååãBottomDrawer
ã«å€æŽããŸããã- ïŒI1cc66ïŒ
ãã°ã®ä¿®æ£
- Compose ã§ AnimatedVectorDrawable ãªãœãŒã¹ã䜿çšããããã® API ã远å ããŸãããanimatedVectorResource ã䜿çšããŠ
<animated-vector>
XML ã AnimatedImageVector ãšããŠèªã¿èŸŒã¿ãpainterFor ã§ã¢ãã¡ãŒã·ã§ã³åããŸããïŒI8ea91ïŒ - TextField ã®ä»¥åã® SoftwareKeyboardController ã€ã³ã¿ãŒãã§ãŒã¹ã眮ãæãããæ°ãã LocalSoftwareKeyboardController ã³ã³ããžã·ã§ã³ ããŒã«ã« API ã远å ããŸãããïŒI658b6ãb/168778053ïŒ
ããŒãžã§ã³ 1.0.0-alpha12
2021 幎 2 æ 10 æ¥
androidx.compose.ui:ui-*:1.0.0-alpha12
ããªãªãŒã¹ãããŸãããããŒãžã§ã³ 1.0.0-alpha12 ã«å«ãŸãã commit ã«ã€ããŠã¯ããã¡ããã芧ãã ããã
API ã®å€æŽ
- ViewGroup 㯠UiApprier ã§ãµããŒããããªããªããŸãããéæšå¥šã® emitView ã³ã³ããŒã¶ãã«ãåé€ããŸãããïŒIfb214ïŒ
- Modifier.pointerInput ã¯ããã€ã³ã¿å ¥åæ€åºã³ã«ãŒãã³ãæ°ããäŸåé¢ä¿ã§åéããã¿ã€ãã³ã°ã瀺ã remember ããŒãå¿ èŠãšããããã«ãªããŸãããïŒI849cdïŒ
- CompositionReference ã®ååã CompositionContext ã«å€æŽããŸããïŒI53fcbïŒ
- Bounds ã®ååã DpRect ã«å€æŽããŸããïŒI4b32aïŒ
- æŽæ°ã®ãã¹ã: hasText() ã¯ããã¹ã ãã£ãŒã«ãã®å ¥åããã¹ããšã©ãã« / ãã³ã / ãã¬ãŒã¹ãã«ã ããã¹ãã®äž¡æ¹ã確èªããŸãïŒIab803ïŒ
- viewModel() ã³ã³ããŒã¶ãã«ãš LocalViewModelStoreOwner ã androidx.lifecycle.viewmodel.compose ã«ç§»åããŸãããããã䜿çšããã«ã¯ãç¬ç«ããäŸåé¢ä¿ androidx.lifecycle:lifecycle-viewmodel-compose:1.0.0-alpha01 ã远å ããå¿ èŠããããŸããïŒI7a374ïŒ
- AccessibilityAction ã§ null 蚱容ã¢ã¯ã·ã§ã³ãå®è¡ã§ããããã«ããAccessibilityAction ãš CustomAccessibilityAction ã®ã¢ã¯ã·ã§ã³ ã©ãã«ã CharSequence ãã String ã«å€æŽããŸããïŒI0dc82ïŒ
- ImageBitmap ã ImageVector ã®åœåèŠåã«åãããã«ãImagePainter ã®ååã BitmapPainter ã«å€æŽããVectorPainter ãšååãæããŸãããïŒIba381ãb/174565889ïŒ
- éšåæååãåŒæ°ãšããŠäœ¿çšããéšåæååã®ãã¹ã API ãæ¹åããŸããïŒIcbe78ïŒ
- ã©ã ããæå®ããã«ã«ã¹ã¿ã ãã©ãŒã«ã¹é åºã§ FocusRequest ãåãå
¥ãã
Modifier.focusOrder()
ã远å ããŸãããããã¯ãåç §ãæå®ããã ãã§ãããã³ã³ããŒã¶ãã«ã®ã«ã¹ã¿ã ãã©ãŒã«ã¹é åºãå¿ èŠãšããªãå Žåã«åœ¹ç«ã¡ãŸãïŒI4f52aãb/179180978ïŒ - ComponentActivity.setContent ã androidx.activity:activity-compose ã¢ãžã¥ãŒã«ã® androidx.activity.compose.setContent ã«ç§»åããŸãããïŒIcf416ïŒ
- destructuring ãš copy() ã¡ãœããããããããã»ãšãã©äœ¿çšããªãã¯ã©ã¹ããåé€ããŸãããïŒI26702ãb/178659281ïŒ
- ãããã¢ããããã©ãããã©ãŒã åºæã®ãã®ã«ããŸãããAndroidPopupProperties ã®ååã PopupProperties ã«å€æŽãã
isFocusable
ãPopupProperties
ã®focusable
ãã©ã¡ãŒã¿ã«ç§»åããŸããïŒIeeea5ïŒ - ãã€ã¢ãã°ããã©ãããã©ãŒã åºæã®ãã®ã«ããŸãããAndroidDialogProperties ã®ååã DialogProperties ã«å€æŽããŸãããïŒI4ef69ãb/179138130ïŒ
- LayoutNode ãå éšé¢æ°ã«å€æŽããŸããïŒI8a7b1ãb/175103944ïŒ
- Constraints.enforce ã Constraints.constrain ã«çœ®ãæããŸãããïŒI8b8eaïŒ
- loadFontResource ãéæšå¥šã«ãªããŸããã代ããã« fontResource ã䜿çšããŠãã ãããimageResourceãloadImageResourceãvectorResourceãloadVectorResource ãéæšå¥šã«ãªããŸããã代ããã« painterResource ã䜿çšããŠãã ãããïŒI6b809ïŒ
- ããã©ãŒãã³ã¹äžã®çç±ãããScrollAxisRange ã»ãã³ãã£ã¯ã¹ã¯ãæµ®åå°æ°ç¹å€ãçŽæ¥äœ¿çšããã®ã§ã¯ãªããæµ®åå°æ°ç¹æ°ãè¿ãã©ã ãã䜿çšããããã«ãªããŸãããïŒIf4a35ãb/178657186ïŒ
- ãŠãŒã¶ãŒè£å©æ©èœã®ããã«ãããã¹ã ãã£ãŒã«ãã®ç·šéå¯èœãªå ¥åãããŒã¯ãã EditableText ã»ãã³ãã£ã¯ã¹ã远å ãããã®ã»ãã³ãã£ã¯ã¹ã確èªããããã®å¯Ÿå¿ãããã¹ãã¡ãœããã远å ããŸãããïŒI8e07aïŒ
- OwnerLayer/OwnerScope/OwnerSnapshotObserver ãå éšé¢æ°ã«å€æŽããŸããïŒI4ffafãb/175103944ïŒ
- toIntPx() ã®ååã roundToPx() ã«å€æŽããŸããïŒI9b7e4ãb/173502290ïŒ
- IntBounds ã®ååã IntRect ã«å€æŽããAPI ãæ¹åããŸãããïŒI1f6ffïŒ
- Snapshot API ã API ã¬ã€ãã©ã€ã³ãšã®æŽåæ§ãé«ããå éšå®è£ ã¯ã©ã¹ãå ¬é API ããé衚瀺ã«ããããã«æŽæ°ããŸãããïŒId9e32ïŒ
- å±éãšæãããã¿ã®ã»ãã³ãã£ã¯ã¹ ã¢ã¯ã·ã§ã³ã远å ããŸãããModalBottomSheetState ã« expand ãš halfExpand ã远å ããŸããïŒIb5064ïŒ
- Modifier.dragGestureFilter ãéæšå¥šã«ãªããŸããã代ããã«
Modifier.pointerInput { detectDragGestures (...)}
ã䜿çšããŠãã ããããŸãã¯ãå軞ã®ãã©ãã°ã«ã¯ Modifier.draggable ã䜿çšããŸãïŒI0ba93ãb/175294473ïŒ - Ambient ãã CompositionLocal ãžã®åå倿Žã«åãããŠå Ambient ã®ååã倿ŽããŸãããAmbientFoo ãšããååã® Ambient ã¯ãLocalFoo ãšããååã® CompositionLocal ã«ãªããŸãããïŒI2d55dïŒ
- éæšå¥šã® BaseTextField ãåé€ããŸããã代ããã« BasicTextField ã䜿çšããŠãã ãããïŒI71368ïŒ
- Selection ã Foundation ã«ç§»åããŸãããïŒI7892bïŒ
- 以å
state { 0 }
composable ãåé€ããŠremember { mutableStateOf(0) }
ã®ãããªäœ¿ãæ¹ãæšå¥šããããã«ãªã£ãã®ãšåæ§ãsavedInstanceState { 0 }
composable ãåé€ããäºå®ã§ãã代ããã«rememberSaveable { mutableStateOf(0) }
ã®äœ¿çšãæšå¥šããŸããããã«ãããMutableState å ã§äœ¿çšãããã¿ã€ãã Bundle ã«ä¿åå¯èœãªå Žåã¯ãèªåçã«ä¿åããã³åŸ©å ãè¡ãããããã«ãªããŸãããããŸã§ã«ã¹ã¿ã ã®ã»ãŒã㌠ãªããžã§ã¯ããæž¡ããŠããå Žåã¯ãstateSaver
ãã©ã¡ãŒã¿ãå«ã rememberSaveable ã®æ°ãããªãŒããŒããŒãã䜿çšããå¿ èŠããããŸããäœ¿ãæ¹ã¯ãval holder = rememberSaveable(stateSaver = HolderSaver) { mutableStateOf(Holder(0)) }
ã®ããã«ãªããŸãïŒIb4c26ãb/177338004ïŒ - ãŠãŒã¶ãŒè£å©æ©èœã®ããã®ãã¹ã¯ãŒã ã»ãã³ãã£ã¯ã¹ã远å ããŸããïŒI231ceïŒ
- ãŠãŒã¶ãŒè£å©æ©èœã®ããã«äžç¢ºå®åœ¢åŒã®é²æç¶æ³ããŒãããŒã¯ãã ProgressBarRangeInfo.Indeterminate ã远å ããŸããïŒI6fe05ïŒ
emptyContent()
ããã³(@Composable () -> Unit).orEmpty()
ãŠãŒãã£ãªãã£ãéæšå¥šã«ãªããŸããïŒããã©ãŒãã³ã¹äžã®å¹æã䟡å€ããªããªã£ãããïŒãïŒI0484dïŒsnapshotFlow
ãšwithMutableSnapshot
ã¯è©Šéšéçšçã§ã¯ãªããªããŸããïŒI6a45fïŒ- Recomposer ãã¯ããŒãºã§ããããã«ãªããŸãããã¯ããŒãºããã Recomposer ã¯ãã³ã³ããžã·ã§ã³åã³ã«ãŒãã³ãå®äºãããŸã§åã³ã³ããžã·ã§ã³ãç¶ããŸããRecomposer.shutDown ã®ååã cancel ã«å€æŽã㊠close ãšå¯Ÿæ¯ãããããã«ããŸãããïŒIb6d76ïŒ
- UiSavedStateRegistry ã®ååã SaveableStateRegistry ã«ãAmbientUiSavedStateRegistry ã®ååã AmbientSaveableStateRegistry ã«å€æŽãããããã androidx.compose.runtime.saveable ããã±ãŒãžã«ç§»åããŸãããïŒI30224ïŒ
- ã¢ãŒãã£ãã¡ã¯ã androidx:compose:runtime:runtime-saved-instance-state ã®ååã androidx:compose:runtime:runtime-saveable ã«å€æŽããŸããïŒI6dcacïŒ
- UI ããã±ãŒãžã«é·ãååšããŠããéæšå¥šã® API ã倿°åé€ããŸãããïŒI2f2dcïŒ
- compose:runtime-dispatch ã¢ãŒãã£ãã¡ã¯ããéæšå¥šã«ãªããŸãããMonotonicFrameClock 㯠compose:runtime ã«ããŸã AndroidUiDispatcher 㯠compose:ui ã«å«ãŸããããã«ãªããŸãããïŒIb5c36ïŒ
- Outline.* ã¯ã©ã¹ã¯ããŒã¿ã¯ã©ã¹ã§ã¯ãªããªããŸããïŒI4879eãb/178001427ïŒ
- 眮ãæããã«
view.captureToImage()
ãåé€ããŸãããïŒI7fcd2ïŒ - ãœãŒã¹ ã³ã³ãã³ãã® Refactored ColorFilter API ã® RGB å€ã interface ã«å€æŽããŠãPathEffect ã®å®è£ ãšäžèŽãããããã® ColorMatrix API ãå°å ¥ããŸãããïŒIca1e8ïŒ
- ShapeDirection ãã©ã¡ãŒã¿ã Shape ã® createOutline ã«è¿œå ããŸããããã«ãããã¬ã€ã¢ãŠãæ¹åã«å¯Ÿå¿ãã圢ç¶ãäœæã§ããããã«ãªããŸããïŒI57c20ãb/152756983ïŒ
- onImeActionPerformed ãéæšå¥šã«ãªããŸããã代ããã« KeyboardActions ã䜿çšããŠãã ãããïŒIf0bbdãb/179071523ïŒ
- ç¡éã¢ãã¡ãŒã·ã§ã³ã«é©çšããã
InfiniteAnimationPolicy
ã³ã«ãŒãã³ ã³ã³ããã¹ãèŠçŽ ãå°å ¥ããŸãããComposeTestRule
ã䜿çšããŠãã¹ããå®è¡ããå Žåãé€ããããã©ã«ãã§ã¯ããªã·ãŒã¯ã€ã³ã¹ããŒã«ãããŸãããïŒI50ec4ãb/151940543ïŒ - canDrag ã Modifier.scrollable ããåé€ããŸãããïŒId66e7ãb/175294473ïŒ
- æ°ãã parentCoordinates ããããã£ã䜿çšã§ããããã«ãLayoutCoordinates.parentCoordinates ã®ååã LayoutCoordinates.parentLayoutCoordinates ã«å€æŽããŸãããparentCoordinates ããããã£ã¯ã芪修食åã® LayoutCoordinte ãæäŸããããã«ãªããŸãããonSizeChanged() ãš onGloballyPositioned() ã«ããå®å šãªãŠãŒã¹ã±ãŒã¹ãæäŸã§ããããã«ãªããŸãïŒIdfbfdãb/177926591ïŒ
- tapGestureFilterãdoubleTapGestureFilterãlongPressGestureFilterãpressIndicaitonGestureFilter ãéæšå¥šã«ãªããŸããã代ããã«ãModifier.clickable ãŸã㯠Modifier.pointerInput ã detectTapGestures 颿°ãšãšãã«äœ¿çšããŠãã ãããïŒI6baf9ãb/175294473ïŒ
- SaveableStateRegistry ã® unregisterProvider ãåé€ããŸããã代ããã«ãregisterProvider() ã SaveableStateRegistry.Entry ãªããžã§ã¯ããè¿ãããã«ãªããŸããããã®ãªããžã§ã¯ãã䜿çšããŠç»é²ãè§£é€ã§ããŸãïŒIc4274ãb/178583739ïŒ
- rememberSavedInstanceState() ã®ååã rememberSaveable() ã«å€æŽã㊠androidx.compose.runtime.saveable ããã±ãŒãžã«ç§»åããŸãããïŒI1366eãb/177338004ïŒ
- CoreText ãš CoreTextField ãå
¬é API ããåé€ããŸããã
- éæšå¥šãšãªã£ã SelectionContainer ãªãŒããŒããŒããåé€ããŸãã
- ïŒI99c19ïŒ
- WindowManager ã«çŽæ¥è¿œå ãŸãã¯åé€ãããŠããé局㧠Compose ã䜿çšãããã¹ããããå®å®ããããã«ãªããŸãããïŒIe81edãb/175765614ïŒ
- Recomposer.current() ãåé€ããŸããã[Abstract]ComposeView ã®ããã©ã«ãã¯ãé å»¶çã«äœæããããŠã£ã³ã㊠ã¹ã³ãŒãã® RecomposerïŒãŠã£ã³ããŠã® ViewTreeLifecycleLifecycle ã«ãã£ãŠé§åãããïŒã«ãªããŸããããã¹ã ã©ã€ããµã€ã¯ã«ã忢ãããšãåã³ã³ããžã·ã§ã³ãš withFrameNanos ã«åºã¥ãã¢ãã¡ãŒã·ã§ã³ ãã£ãã¯ãäžæåæ¢ããŸããïŒI38e11ïŒ
- Recomposer.runningRecomposers ã¯ãããã»ã¹ã§é²è¡äžã®ã³ã³ããžã·ã§ã³ç¶æ ãç£èŠããããã®ãèªã¿åãå°çš RecomposerInfo ã®ã°ããŒãã« StateFlow ãæäŸããããã«ãªããŸããããã® API ã¯ãçŸåšéæšå¥šã® Recomposer.current() ãããåªå ãããŸããïŒIf8ebeïŒ
- saveãlistSaver()ãmapSaver()ãautoSaver ã androidx.compose.runtime.savedinstancestate ãã androidx.compose.runtime.saveable ã«ç§»åããŸããïŒI77fe6ïŒ
- EditCommands 㯠AnnotatedString ãåãå ¥ããããã«ãªããŸããããã ãããã㯠API ã®ã¿ã®å€æŽã§ããããã«ãã¹ã¿ã€ã« ããã¹ãã®ç·šéã¯ãŸã å®è£ ãããŠããŸãããïŒI4c3eaïŒ
- Uptime ãš Duration ãåé€ããŸãããïŒIb9bf4ãb/177420019ïŒ
- CompositionData.asTree() ãšé¢é£ API ã ui-tooling-data ã¢ãžã¥ãŒã«ã«ç§»åãã詊éšéçšçãšããŠããŒã¯ããŸããïŒIc95b8ïŒ
- RounderCornerShapeãCutCornerShapeãCornerBasedShape ã®ãã©ã¡ãŒã¿ã®ååã left/right ãã start/end ã«å€æŽããŠãRTL æ¹åã«ããããã®åœ¢ç¶ã®èªåãã©ãŒãªã³ã°ããµããŒãããããã«ããŸãããèªåãã©ãŒãªã³ã°ãäžèŠãªãšãã®ããã«ãAbsoluteRounderCornerShape ãš AbsoluteCutCornerShape ãå°å ¥ããŸãããïŒI61040ãb/152756983ïŒ
Compose ã³ã³ãã€ã© ãã©ã°ã€ã³ã®å¯Ÿè±¡ãšãªã API ã¯ãå ·è±¡ã¯ã©ã¹ã§ã¯ãªãã€ã³ã¿ãŒãã§ãŒã¹ã䜿çšããããã«ãªãã¡ã¯ã¿ãªã³ã°ãããŸããããŸãããããã®ã€ã³ã¿ãŒãã§ãŒã¹ã¯ãã¿ã€ã ãã©ã¡ãŒã¿ã䜿çšããªããªããŸããã
ãã®å éšå€æŽã¯ãœãŒã¹ã³ãŒãã®äºææ§ã«ã¯åœ±é¿ãäžããŸãããããã€ããªã®äºææ§ãç Žã倿Žã«ãªããŸããïŒI3b922ãb/169406779ïŒ
æå³ããã«å ¬éãããŠãã StringBuilder.deleteAt 颿°ãåé€ããŸããïŒId6ed9ïŒ
ãã°ã®ä¿®æ£
- ãã¥ãŒéå±€ã«é 眮ããã ComposeView ã¯å¥ã®ã³ã³ããžã·ã§ã³ã®åã§ããããã®ç¥å ã®åã³ã³ããžã·ã§ã³ããã¹ãããããã«ãªããŸããïŒI92883ïŒ
- ImageBitmap ãªããžã§ã¯ããèªã¿èŸŒãéã«ãªãœãŒã¹ ãããŒã¢ãã« ãã£ãã·ã¥ãåå©çšã§ããããã«ãCompose ã® imageFromResource API ãæŽæ°ããŸãããïŒIf3627ãb/178751994ïŒ
ããŒãžã§ã³ 1.0.0-alpha11
2021 幎 1 æ 28 æ¥
androidx.compose.ui:ui-*:1.0.0-alpha11
ããªãªãŒã¹ãããŸãããããŒãžã§ã³ 1.0.0-alpha11 ã«å«ãŸãã commit ã«ã€ããŠã¯ããã¡ããã芧ãã ããã
API ã®å€æŽ
- WithConstraints 㯠BoxWithConstraints ãšããŠåæ§ç¯ãããfoundation.layout ã«ç§»åãããŸãããïŒI9420bãb/173387208ïŒ
- Key.DPadUp ãéæšå¥šãšããŸããã代ããã« Key.DirectionUp ã䜿çšããŠãã ãããïŒIab335ãb/177954892ïŒ
- ãªãŒã㌠ã€ã³ã¿ãŒãã§ãŒã¹ãå éšåããŸãããïŒIf8e35ïŒ
- ããã°ã©ã ã§ãã©ãŒã«ã¹ãç§»åãã FocusManager.moveFocus() API ã远å ããŸãããïŒI045cbãb/177681839ïŒ
- ã°ããŒãã«åº§æšã§ã¯ãªããŠã£ã³ããŠçžå¯Ÿåº§æšã䜿çšããããã«ãPopupPositionProvider ã倿ŽããŸãããparentGlobalBounds ã®ååã anchorBounds ã«å€æŽããwindowGlobalBounds ã windowSize: IntSize ã«å€æŽããŸãããïŒI2994aïŒ
- Duration ãš Uptime ã Long ããªç§ã«çœ®ãæããŸããããã«ããããããã®ã¯ã©ã¹ã«å¯Ÿãããã€ã³ã¿å ¥åã®äŸåé¢ä¿ãåé€ãããŸããïŒIa33b2ãb/175142755ãb/177420019ïŒ
- æ¢åã® AmbientLifecycleOwnerãAmbientViewModelStoreOwner ãšåæ§ã«ãAmbientSavedStateRegistryOwner ã远å ããŸãããïŒI9a3e8ãb/176756365ïŒ
- ãã¯ã¿ãŒ ã°ã©ãã£ãã¯ã®ã«ãŒãã«é©çšãããè²åãã®è§£æããµããŒãããããã«ããã¯ã¿ãŒ ã°ã©ãã£ã㯠API ãæŽæ°ããŸãããïŒId9d53ãb/177210509ïŒ
- ããã€ã¹ãåºå¥ããããã«ãtoolType ã PointerInputChange ã«è¿œå ããŸãããïŒIac787ãb/175142755ïŒ
- AmbientWindowManager ã®ååã AmbientWindowInfo ã«å€æŽããŸãããïŒI2686aãb/177084714ãb/177084983ïŒ
- ã°ããŒãã«åº§æšã¡ãœãããéæšå¥šãšãããŠã£ã³ããŠã«åºã¥ã座æšã¡ãœãããæ°ãã«äœæããŸãããïŒIee284ïŒ
- æ€æ»ãæå¹ã«ãããå Žåã«ã°ã©ãã£ã㯠ã¬ã€ã€ã®ä¿®é£Ÿåã远å ãããModifier.toolingGraphicsLayer ã远å ããŸãããïŒI315dfïŒ
- FocusRequester.createRefs ã¯ã倿Žã®å¯èœæ§ãããããã詊éšéçšçãšããŒã¯ããããã«ãªããŸãããïŒI2d898ãb/177000821ïŒ
- SemanticsPropertyReceiver.hidden ã hiddenToUser ãšããååã«å€æŽããã@ExperimentalComposeUiApi ãšããŒã¯ãããŸãããAccessibilityRangeInfo ã ProgressBarRangeInfo ãšããååã«å€æŽãããŸããã stateDescriptionRange ã progressBarRangeInfo ãšããååã«å€æŽãããŸãããAccessibilityScrollState ã ScrollAxisRange ãšããååã«å€æŽãããŸããã horizontalAccessibilityScrollState ã horizontalScrollAxisRange ãšããååã«å€æŽãããŸããã VerticalAccessibilityScrollState ã verticalScrollAxisRange ãšããååã«å€æŽãããŸãããïŒId3148ïŒ
- PointerInputData ãåé€ããPointerInputData ã®ãã£ãŒã«ãããã¹ãŠå©çšã§ããããã« PointerInputChange ã倿ŽããŸãããPointerInputEvent ãš PointerInputEventData ã¯å ¬é API ã§äœ¿çšãããããšããªããããå éšåããŸãããïŒIfff97ãb/175142755ïŒ
- Density ãå®è£ ã㊠dp ããçãã¯ã»ã«ãžã®å€æããµããŒãããããã«ãGraphicsLayerScope ãæŽæ°ããŸãããïŒIed528ãb/176819695ïŒ
- è¡åªå é ã«åŸããã Matrix API ãæŽæ°ããŸããããŸããSkMatrix ãš Matrix4 ã®éã®ãã¬ãŒã ã¯ãŒã¯å€æããžãã¯ãå éšçã«äžèŽãããããã«ãç°ãªãè¡å衚çŸéã®å€æãæ¯æŽããã€ã³ããã¯ã¹å®æ°ãæäŸããŸãããïŒI432e6ïŒ
- 詊éšéçšçã® monotonicFrameAnimationClockOf ã¡ãœãããåé€ããŸãããïŒIb753fãb/170708374ïŒ
- String.fintPrecedingBreak ãš String.fingFollowingBreak ã InternalTextApi ã«ç§»åããŸãããïŒI657c4ïŒ
- å ¬é API ãã androidx.compose.ui.util.isSurrogatePair ãåé€ããŸãããïŒIa9494ïŒ
- TransformedText.transformedText ã®ååã TransformedText.text ã«å€æŽããŸããã
- TransformedText ã¯ããŒã¿ã¯ã©ã¹ã§ã¯ãªããªããŸãããïŒIe672aïŒ
- 次ã®ã¯ã©ã¹ãã
data class
ãåé€ããŸããã- InlineTextContent
- LocaleListïŒI605c7ïŒ
- 次ã®ã¯ã©ã¹ã¯ããŒã¿ã¯ã©ã¹ã§ã¯ãªããªããŸããã
- AnnotatedString
- ParagraphStyle
- SpanStyle
- TextStyle
- FontWeight
- TextDecoration
- TextGeometricTransform
- TextIndex
- TextLayoutResult
- TextLayoutInputïŒIaff99ïŒ
- VisualTransformation ãæ©èœã€ã³ã¿ãŒãã§ãŒã¹ã«å€æŽããŸãããïŒI3bba4ïŒ
- 颿°åç §ãã©ã¡ãŒã¿ã®åã远å ããŸããïŒI5e1bdïŒ
- InspectorNode ã«å€æå¢çã远å ããŸããïŒIce42fïŒ
ãã°ã®ä¿®æ£
- onCommitãonDisposeãonActive ãéæšå¥šã«ãªããSideEffect API ãš DisposableEffect API ã«çœ®ãæããããŸãããïŒIf760eïŒ
Font / FontFamily / Typeface ã®ãã¡ã¯ããªé¢æ°ã®å€æŽ
- 倧æåã§å§ãŸããã¡ã¯ããªé¢æ°ã远å ããŸããã
- 以åã®å°æåã§å§ãŸããã¡ã¯ããªé¢æ°ãéæšå¥šãšããŸããã
- æ°ãããã¡ã¯ããªé¢æ°ã¯ããµãã¯ã©ã¹ã§ã¯ãªã FontFamily ãè¿ããŸãã
- ãã¡ã¯ããªé¢æ°ãä»ããŠã®ã¿äœæã§ããããã«ããµãã¯ã©ã¹ã®ã³ã³ã¹ãã©ã¯ã¿ãé衚瀺ã«ããŸããã
- Font.asFontFamily ã®ååã Font.toFontFamily ã«å€æŽããŸãããïŒI42aa7ïŒ
ComposeContentTestRule
ãå°å ¥ããŸãããããã¯ComposeTestRule
ãæ¡åŒµããŠsetContent
ïŒComposeTestRule
ããå逿žã¿ïŒãå®çŸ©ãããã®ã§ããComposeTestRule
ãè¿ãã¢ã¯ãã£ããã£ãèªåçã«èµ·åããªããã¡ã¯ã㪠ã¡ãœããcreateEmptyComposeRule()
ã远å ããŸãããããã¯ãããšãã°ActivityScenario.launch
ãªã©ã䜿çšããŠãã¹ãäžã«ã¢ã¯ãã£ããã£ãèµ·åãããšãã«äœ¿çšããŸããïŒI9d782ãb/174472899ïŒanimateAsState ã animateFooAsState ã«ãªããŸãããããã§ Foo ã¯ã¢ãã¡ãŒã·ã§ã³åããã倿°ã®åã§ãïŒFloatãDpãOffset ãªã©ïŒãïŒIe7e25ïŒ
ç»åãšã¢ã€ã³ã³ã«ã³ã³ãã³ã説æãã©ã¡ãŒã¿ã远å ããŸãããããã¯ããŠãŒã¶ãŒè£å©ãµãŒãã¹ã«èª¬æãæäŸããããã«äœ¿çšãããŸããïŒI2ac4cïŒ
displaySize ã¯äœ¿çšããªãã»ãããããããåé€ããŸãããéåžžã¯ãonRoot() ã®ãµã€ãºãŸãã¯ãŠã£ã³ã㊠ãµã€ãºä»¥äžã䜿çšããããšãããããããŸããïŒI62db4ïŒ
OnSizeChanged ã¯ãã¬ã€ã¢ãŠãã®ã³ã³ãã³ãã®ãµã€ãºãå ±åããŠããŸããããããã修食åãã§ãŒã³å ã®äœçœ®ã§ã®ãµã€ãºãå ±åããããã«ãªããŸãããïŒI36b78ãb/177562900ïŒ
emit() API ãšãã¹ãŠã®ãªãŒããŒããŒããéæšå¥šãšããååã ComposeNode ã«å€æŽããŸãããAPI èªäœã¯åããã®ã§ããåã«ãCompose ã®åœåèŠåã«åŸãããã«ååã倿ŽããŸãããïŒI4137bïŒ
TextFieldValue ã AnnotatedString ãåãå ¥ããããã«ãªããŸããããã ãããã㯠API ã®ã¿ã®å€æŽã§ããããã«ãã¹ã¿ã€ã« ããã¹ãã®ç·šéã¯ãŸã å®è£ ãããŠããŸããã
- EditingBuffer ã³ã³ã¹ãã©ã¯ã¿ ãã©ã¡ãŒã¿ãã
initial
ãåé€ããŸãããïŒI326d5ïŒ
- EditingBuffer ã³ã³ã¹ãã©ã¯ã¿ ãã©ã¡ãŒã¿ãã
invalidate ãš compositionReference() ãéæšå¥šã«ãªãããããã currentRecomposeScope ãš rememberCompositionReference ã«çœ®ãæããããŸãããïŒI583a8ïŒ
kotlin.CharSequence ããæ¡åŒµããããã«ãAnnotatedString ã倿ŽããŸããããã®ãããlength ãš subSequence ãã€ã³ã¹ã¿ã³ã¹é¢æ°ã«ãªããæ¡åŒµé¢æ°ã¯åé€ãããŸãããïŒIaf429ïŒ
RememberObserver ã CompositionLifecycleObserver ã«çœ®ãæãããCompositionLifecycleObserver ãéæšå¥šã«ãªããŸããã
RememberObserver
ãCompositionLifecycleObserver
ã«çœ®ãæããŸãããã»ãã³ãã£ã¯ã¹ã倿Žããã¡ãœããã®ååã倿ŽããŸãããæ°ãã API ãžã®å€æŽã¯ã1 åã ãèšæ¶ãããŠãããªããžã§ã¯ãã«å¯ŸããŠã¯æ©æ¢°çã«è¡ãããšãã§ããŸãïŒåŒãç¶ãããããããããã®æ¹æ³ã§ãïŒããã ããåç §ãã³ã³ããžã·ã§ã³å ã§è€æ°åèšæ¶ãããŠããå Žåã¯ãonEnter
ã 1 åã ãåŒã³åºãããåç §ããšã«onRemembered
ãåŒã³åºãããŸãããªããžã§ã¯ããWithConstraints
ãScaffold
ãªã©ã®ãµãã³ã³ããžã·ã§ã³ã§äœ¿çšãããŠããå ŽåãonEnter
ãè€æ°ååŒã³åºãããããšã§åäžã®onEnter
åŒã³åºãã®ä¿èšŒã®ä¿¡é Œæ§ãæãªãããŠããŸããããRememberObserver
ã§ã¯åé€ãããŸãããRememberObserver
ã¯ãremember
ã«æž¡ãããã³ãŒã«ããã¯ããRememberObserver
ã€ã³ã¹ã¿ã³ã¹ãè¿ãããå Žåã«åŒã³åºãããonAbandoned
ã远å ããŸãããã³ã³ããžã·ã§ã³ã®ç¶æ ã«ã¯èšæ¶ãããªããããonRemembered
ãåŒã³åºãããããšã¯ãããŸãããããã¯ãäŸå€ã«ãã£ãŠã³ã³ããžã·ã§ã³ãå®äºåã«çµäºããå Žåããã³ã³ããžã·ã§ã³ã®çæç¶æ ãææ°ã§ãªããªã£ãããããã¯äžèŠã«ãªã£ãããã«ã³ã³ããžã·ã§ã³ãç Žæ£ãããå Žåãªã©ã«çºçããããšããããŸããäžèšã®åäžåç §ã®æšå¥šäºé ã«æ²¿ã£ãRememberObserver
ã®ã€ã³ã¹ã¿ã³ã¹ãå€éšãªãœãŒã¹ã远跡ããŠããå ŽåãonForgotten
ãšonAbandoned
ã®äž¡æ¹ãããªãœãŒã¹ãäžèŠã«ãªã£ãããšã瀺ããŸãããªããžã§ã¯ãããéå§ãããåŠçãŸãã¯onRemembered
ã«å²ãåœãŠããããªãœãŒã¹ã远跡ããå ŽåãonRemembered
ãåŒã³åºãããŠãonAbandoned
ã¯åŒã³åºãããªããããonAbandoned ã¯ç¡èŠã§ããŸããïŒI02c36ïŒè€æ°ã® TextUnit éã®ç®è¡æŒç®ãéæšå¥šã«ãªããŸãããInt.sp ã Int.em ãªã©ã®æ¡åŒµé¢æ°ãåªå ãããããTextUnit.Sp 颿°ãš TextUnit.Em 颿°ãéæšå¥šã«ãªããŸãããïŒI48369ïŒ
æç€ºçã«å®£èšããããããªã㯠ãªãœãŒã¹ãæããªãã©ã€ãã©ãªå ã®ãªãœãŒã¹ïŒpublic.xml çµç±ãªã©ïŒããããã©ã«ãã§éå ¬éã«ãªããŸãããïŒIa1dccãb/170882230ïŒ
ScrollableColumn ãš ScrollableRow ãéæšå¥šã«ãªããŸãããã¹ã¯ããŒã«ãå¿ èŠãªå€§ããã³ã³ãã³ãã®å ŽåãScrollableColumn 㯠LazyColumn ãããå¹çæ§ãå£ããŸããããã¯ãLazyColumn ã§è¡ããããšã衚瀺èŠçŽ ã®æ§æã枬å®ãæç»ã®ã¿ã§ããããã§ãããŠãŒã¶ãŒã®å¹çãèæ ®ããŠãScrollableColumn ãš ScrollableRow ã®ãµããŒããçµäºãã代ããã« LazyColumn ãš LazyRow ã®äœ¿çšã奚å±ããããšã«ããŸããããã®å Žåã§ãããŠãŒã¶ãŒãé å»¶åäœãäžèŠãšå€æããå Žåã¯æ¬¡ã®ãããªä¿®é£ŸåãçŽæ¥äœ¿çšã§ããŸããColumn(Modifier.verticalScroll(rememberScrollState()))ïŒIb976bãb/170468083ïŒ
LazyColumn / LazyRow / LazyVerticalGrid ã®ã¹ã³ãŒãã®ããã®æ°ãã
items(count: Int)
ãã¡ã¯ã㪠ã¡ãœãããitems(items: List)
ãšitemsIndexed(items: List)
ãæ¡åŒµé¢æ°ã«ãªããŸããããã®ããã䜿çšãããšãã¯æåã§ã€ã³ããŒãããå¿ èŠããããŸããArrays ã®æ°ããæ¡åŒµãªãŒããŒããŒãã¯items(items: Array)
ãšitemsIndexed(Array)
ã§ããïŒI803fcãb/175562574ïŒImeAction.NoAction ã®ä»£ããã« ImeAction.None ã䜿çšããŠãã ããã
- ImeAction.Unspecified ã®ä»£ããã« ImeAction.Default ã䜿çšããŠãã ãããïŒIe1bccïŒ
ãã¹ãã§ã¯ TestCoroutineDispatcher ãå©çšããŸããïŒI532b6ïŒ
TextInputService.onStateUpdated ã®ååã updateState ã«å€æŽããŸãããïŒId4853ïŒ
TransitionDefinition ããŒã¹ã® Transition ãéæšå¥šã«ãªããŸãããïŒI0ac57ïŒ
TextUnitType.Inherit ãåé€ããŸããã代ããã« TextUnitType.Unspecified instead ã䜿çšããŠãã ãããïŒI9ff64ïŒ
ããŒãžã§ã³ 1.0.0-alpha10
2021 幎 1 æ 13 æ¥
androidx.compose.ui:ui-*:1.0.0-alpha10
ããªãªãŒã¹ãããŸãããããŒãžã§ã³ 1.0.0-alpha10 ã«å«ãŸãã commit ã«ã€ããŠã¯ããã¡ããã芧ãã ããã
äºææ§ãç Žã倿Ž
å éšã³ã³ãã€ã© API ã®åæ§æã«ãããã³ã³ããŒãºã®çµæãšããŠçæãããããŒããžã®å€æŽã¯ã
@Composable
颿°ããã¹ãŠå®äºããåŸãã³ã³ããŒãºã®ã倿Žãé©çšããã§ãŒãºã§äžæ¬é©çšãããããã«ãªããŸãããããã¯ãåäœé¢ã®äºææ§ãç Žã倿Žã§ãããã®å€æŽã«ãããããŒãã¯å€æŽãé©çšããããŸã§ã®éãå éš API ã詊éšéçšç API ãã䜿çšã§ããªããªããããã¢ããªã³ãŒãã®å€æŽãå¿ èŠã«ãªãå¯èœæ§ããããŸããéåžžãã®åé¡ãåé¿ããã«ã¯ãããŒããçæãããŠåæåããããŸã§ã³ãŒãã®å®è¡ãé ãããããã
SideEffect
ã³ã³ããŒã¶ãã«ã®äŸåé¢ä¿ã§ã³ãŒããå²ãããã«ããŸããïŒI018daïŒ
API ã®å€æŽ
- ã«ã¹ã¿ã ãã©ãŒã«ã¹ç§»åé åºã®æå®ã«äœ¿çšã§ãã Modifier.focusOrder() ã远å ããŸãããïŒI90cf5ãb/175899543ãb/170155556ãb/170155429ïŒ
- éæšå¥šã® focusObserve ãåé€ããŸããã代ããã« onFocusChanged ãŸã㯠onFocusEvent ã䜿çšããŠãã ãããïŒI3ecb9ãb/175156387ïŒ
- EditOperations API ã®å€æŽç¹
- EditOperation ã®ååã EditCommand ã«å€æŽããŸããã
- EditOperation å ·è±¡å®è£ ã« Command ãµãã£ãã¯ã¹ã远å ããŸããã
- EditCommand ãããŒã¿ã¯ã©ã¹ã§ã¯ãªããªããŸããã
- EditOperation.process 颿°ã®ååã applyTo ã«å€æŽããŸããã
- InputEventListener ã®ååã InputEventCallback ã«å€æŽããŸããã
- ïŒI0a366ïŒ
- 䜿çšãããŠããªã PxSquaredãPxCubedãPxInverse ãåé€ããŸããã Size.center() ãããããã£ã«å€æŽããŸãããïŒI973f7ïŒ
- ui-test ã¢ãžã¥ãŒã«ã§ããã¹ã段éã«ãã UI çšã® Recomposer ã®äœæã«ã€ããŠèšå®ã§ããããã«ãªããŸãããïŒIbebd8ïŒ
- Velocity ãã³ã³ããŒãã³ãéšåãšæ°åŠæŒç®ãæã€ããã«å€æŽããŸãããïŒIb0447ïŒ
- é¡äŒŒãã詊éšéçšçã® API ã¢ãããŒã·ã§ã³ãšã®æŽåæ§ãä¿ã€ããã
@ExperimentalTesting
ã®ååã@ExperimentalTestApi
ã«å€æŽããŸãããïŒIa4502ãb/171464963ïŒ - Color.useOrElse() ã®ååã Color.takeOrElse() ã«å€æŽããŸãããïŒIfdcf5ïŒ
- 䜿çšãããŠããªã DpInverseãDpSquaredãDpCubed ã®åã¯ã©ã¹ãåé€ããŸãããïŒI4d62bïŒ
- Constraints#satisfiedBy ã®ååã isSatisfiedBy ã«å€æŽããŸãããïŒI9cf5cïŒ
- layoutnode å¢çã倿Žããããšãã«ããªãŒããŒã«éç¥ããã³ãŒã«ããã¯ã远å ããŸããïŒI72fd1ïŒ
- Unspecified 宿°ãæã€ã€ã³ã©ã€ã³ ã¯ã©ã¹ã« isSpecifiedãisUnspecifiedãuseOrElse ã远å ããŸãããïŒI93f7bãb/174310811ïŒ
[Abstract]ComposeView API ãæ¡åŒµããããšã«ãããã³ã³ããžã·ã§ã³ãç Žæ£åŸã«åäœæããŠãCompose ããŒã¹ã®ãã¥ãŒããªãµã€ã¯ã«ã§ããããã«ããŸãããåã³ã³ããžã·ã§ã³ãäœæããããã®ãŠã£ã³ã㊠ã¹ã³ãŒãã® Recomposer ãš ComposerReference ãã€ã³ã¹ããŒã«ããã³æ€åºããããã® API ã远å ããŸãã
[Abstract]ComposeViews ã®ã³ã³ããžã·ã§ã³ç Žæ£æŠç¥ãèšå®ããããã® ViewCompositionStrategy ã远å ããŸããããã©ã«ãã§ã¯ããŠã£ã³ããŠã®ãã¿ããæã«ç Žæ£ãããŸããïŒI860abïŒ
Any.identityHashCode() å ¬é API ãåé€ããŸãããïŒI025d7ïŒ
toStringAsFixed API ãåé€ããString.format ãçŽæ¥äœ¿çšããããã«ããŸãããïŒIaba6bïŒ
foundation ã® Strings.kt ã«åãæ¿ãã远å ããŸãããïŒI4a5b7ãb/172366489ïŒ
nativeClass ã ui ã¢ãžã¥ãŒã«ã«ç§»åããå éšåããŸãããequals å®è£ ã§ã® nativeClass ã®äœ¿çšãæŽæ°ããŠã代ããã«ãis MyClassãã䜿çšããããã«ããŸãããïŒI4f734ïŒ
Modifier.focus() ãš Modifier.focusRequester() ãéæšå¥šãšããŸããã代ããã« Modifier.focusModifier() ãš Modifier.focusReference() ã䜿çšããŠãã ãããïŒI75a48ãb/175160751ãb/175160532ãb/175077829ïŒ
Selectable ã®æŽæ°ã SelectionManager ã«éç¥ããããã« SelectionRegistrar.notifySelectableChange ãå°å ¥ããŸãããïŒI6ff30ãb/173215242ïŒ
ããŸããŸãªã¢ãŠãã©ã€ã³å®è£ ã®å¢çåè§åœ¢ãååŸã§ãã Outline.bounds ããããã£ãå°å ¥ããŸãããïŒI16e74ãb/175093504ïŒ
TestUiDispatcher ãéæšå¥šãšããŸããã代ããã« Dispatchers.Main ã䜿çšããŠãã ãããïŒIc171fãb/175385255ïŒ
ImeOptions ãš KeyboardOptions ãããŒã¿ã¯ã©ã¹ã§ã¯ãªããªããŸããïŒI3c898ãb/168684531ïŒ
VisualTransformation API ã®å€æŽç¹
- OffsetMap ã®ååã OffsetMapping ã«å€æŽãããŸããã
- OffsetMapping.identityOffsetMap ã®ååã OffsetMapping.Identity ã«å€æŽãããŸããã
- PasswordTransformation ãããŒã¿ã¯ã©ã¹ã§ã¯ãªããªããŸããã
- OffsetMapping ãããèªèº«ã®ãã¡ã€ã«ã«ç§»åããŸããã
- ïŒI0bdf3ïŒ
Position ã®ååã DpOffset ã«å€æŽããgetDistance() ãåé€ããŸãããïŒIb2dfdïŒ
fun Dp.isFinite() ã val Dp.isFinite ã«å€æŽããŸãããïŒI50e00ïŒ
ãã°ã®ä¿®æ£
- Recomposer ã®çŸæç¹ã«ãããç¶æ ã®ãããŒãå ¬éããããã®ã¢ã¯ãã£ããã£ããã³é¢é£ãã广ã®ã¢ã¯ãã£ããã£ãã¢ãã¿ãªã³ã°ã§ããããã«ãªããŸãããïŒIfb2b9ïŒ
- ãã€ãã£ã keyEvent ã« keyEvent.nativeKeyEvent ã§ã¢ã¯ã»ã¹ã§ããããã«ãªããŸãããïŒI87c57ãb/173086397ïŒ
animate()
ãanimateAsState()
ã«çœ®ãæããããŸãããT
ã§ã¯ãªãState<T>
ãè¿ããŸããããã«ãããState å€ãèªã¿åãããç¯å²ã«ç¡å¹åã¹ã³ãŒããçµã蟌ãããããããã©ãŒãã³ã¹ãåäžããŸããïŒIb179eïŒ- Semantics ããŒã« API ã远å ããã¯ãªãã¯å¯èœãéžæå¯èœãåãæ¿ãå¯èœãª SemanticsModifier ã«ãã©ã¡ãŒã¿ãšã㊠Role ã远å ããŸããããŸããããã Slider ã䜿çšã§ããããã« Modifier.progressSemantics ã倿ŽããŸãããïŒI216cdïŒ
- æ°ããã³ã«ãŒãã³ ããŒã¹ã® API
Animatable
ããã¢ãã¡ãŒã·ã§ã³éã®çžäºæä»çæ§ãä¿èšŒããŸãã- æ°ãã DecayAnimationSpec ã§å€æ¬¡å ã®æ¶æ» ã¢ãã¡ãŒã·ã§ã³ããµããŒãããŸããã
- ïŒI820f2ãb/168014930ïŒ
ããŒãžã§ã³ 1.0.0-alpha09
2020 幎 12 æ 16 æ¥
androidx.compose.ui:ui-*:1.0.0-alpha09
ããªãªãŒã¹ãããŸãããããŒãžã§ã³ 1.0.0-alpha09 ã«å«ãŸãã commit ã«ã€ããŠã¯ããã¡ããã芧ãã ããã
API ã®å€æŽ
- éæšå¥šã® KeyEvent.Alt ãåé€ãããŸããã代ããã« KeyEvent.isAltPressed ã䜿çšããŠãã ãããïŒIdd695ïŒ
- Modifier.keyInputFilter ãš Modifier.previewKeyInputFilter ãéæšå¥šã«ãªããŸããã代ããã« Modifier.onKeyEvent ãš Modifier.onPreviewKeyEvent ã䜿çšããŠãã ãããïŒIdbf1bãb/175156384ïŒ
- Modifier.focusObserver ãéæšå¥šã«ãªããŸããã代ããã« Modifier.onFocusChanged ãŸã㯠Modifier.onFocusEvent ã䜿çšããŠãã ãããïŒI30f17ãb/168511863ãb/168511484ïŒ
- äžæåæ¢ãã€ã³ã¿å ¥å API ã«ã€ããŠãHandlePointerInputScope ã®ååã AwaitPointerEventScope ã«å€æŽããhandlePointerInput() ã®ååã awaitPointerEventScope() ã«å€æŽããŸãããïŒIdf0a1ãb/175142755ïŒ
- Autofill API ã詊éšéçšç API ã«ãªãããªããã€ã³ãå¿ èŠã«ãªããŸãããïŒI0a1ecïŒ
- FocuSRequester ã€ã³ã¹ã¿ã³ã¹ãäœæããããã®éæ§é å宣èšã远å ããŸããïŒI35d84ãb/174817008ïŒ
- accessibilityLabel ã®ååã contentDescription ã«å€æŽããaccessibilityValue ã®ååã stateDescription ã«å€æŽããŸãããïŒI250f2ïŒ
- ã«ã¹ã¿ã ã€ãã³ããäžæåæ¢ãã€ã³ã¿å ¥å API ããåé€ãããŸããïŒIa54d5ãb/175142755ïŒ
- SelectionRegistrar ã«ããã€ãã®æ°ãã颿°ãå°å ¥ããŸããããŸããonPositionChange ã®ååã notifyPositionChange ã«å€æŽããŸãããïŒIfbaf7ïŒ
- ãå éšããšããŠããŒã¯ãã LayoutNode ã®ã¡ã³ããŒãå¢ãããŸããïŒI443c6ïŒ
- LayoutInfo ãå°å ¥ãããããŒã«ãšãã¹ãã§äœ¿çšã§ããããã«ãªããŸããïŒI9b190ïŒ
- AndroidOwner ãå éšã«é èœãããŸãããïŒIbcad0ãb/170296980ïŒ
- ExperimentalPointerInput ã¢ãããŒã·ã§ã³ãåé€ããŸããïŒIa7a24ïŒ
- ãã¹ããããã¹ã¯ããŒã« ã·ã¹ãã ã远å ããŸããã詳现ã«ã€ããŠã¯ãModifier.nestedScroll ãã芧ãã ããïŒI36e15ãb/162408885ïŒ
- subcomposeInto(LayoutNode) ãå éšã«é èœãããŸãããïŒId724aïŒ
Applier
ã€ã³ã¿ãŒãã§ãŒã¹ã倿ŽããããããããŠã³ã§ã¯ãªãããã ã¢ããã§ããªãŒã®ãã«ããç°¡çŽ åãããŸãããinsert()
ã¡ãœããã®ååãinsertTopDown()
ã«å€æŽãããŸãããæ°ããã¡ãœãã
insertBottomUp()
ã远å ãããŸãããApplier ã¯ãç·šé察象ã®ããªãŒã«ããŒããæ¿å ¥ããéã«ã
insertTopDown()
ãŸãã¯insertBottomUp()
ã®ãã¡ããã©ãŒãã³ã¹ãåªããŠããã»ãã䜿çšããŸããLayoutNode
ãView
ãªã©ã®äžéšã®ããªãŒã¯ããããããŠã³ããããã ã¢ããã®ã»ããå¹ççã«ãã«ãã§ããŸãããã®å€æŽã®åã¯ãããã ã¢ãããå®è£ ããããã«å€§éã®æ¿å ¥ãå¿ èŠã§ãããããã©ãŒãã³ã¹ãåäžãããããã«ããã ã¢ããã®æ§ç¯ãå¿ èŠãšãããã¹ãŠã® Applier ã«ããã ã¢ãããã³ããŒããå¿ èŠããã£ãããã§ãããã®å€æŽã«ãããApplier
ã¯insertBottomUp()
ãšinsertTopDown()
ããªãŒããŒã©ã€ãããããããããã ã¢ãããšãããããŠã³ã§ããªãŒããã«ãããããã«ãªããŸãããïŒIcbdc2ïŒdismissOnBackPress ããããã£ãš dismissOnClickOutside ããããã£ã AndroidDialogProperties ã«è¿œå ããŸãããããã«ããããã€ã¢ãã°ã® onDismissRequest ã©ã ããåŒã³åºãããã¿ã€ãã³ã°ãèšå®ã§ããŸããïŒIf5e17ïŒ
ã©ã¹ã¿ãŒåãããã¢ã»ãã圢åŒïŒPNG ãªã©ïŒãŸã㯠VectorDrawable ããã® Painter ãªããžã§ã¯ãã®äžéæãªèªã¿èŸŒã¿ãåŠçã§ããããã«ãpainterResource API ã远å ããŸãããã³ã³ã·ã¥ãŒãã¯äºåã«ã¢ã»ããã®ã¿ã€ããå€å¥ããå¿ èŠããªããªãããã®ã¡ãœãããåŒã³åºã㊠Image ã³ã³ããŒã¶ãã«ãŸã㯠Painter 修食åã§äœ¿çšãã Painter ãªããžã§ã¯ããååŸã§ããŸããïŒI2c703ãb/173818471ïŒ
åå«ã®ã»ãã³ãã£ã¯ã¹ãã¯ãªã¢ããŠæ°ããã»ãã³ãã£ã¯ã¹ãèšå®ã§ããããã«ãModifier.clearAndSetSemantics ã远å ããŸãããïŒI277caïŒ
ContentDrawScope ã DrawScope ãšåãã ui-graphics ã¢ãžã¥ãŒã«ã«ç§»åããŸãããïŒIee043ãb/173832789ïŒ
ã¹ãããŒã¯ãé©çšãããã·ã§ã€ãã«ããŸããŸãªãã¿ãŒã³ãæäŸãã PathEffect Graphics API ãå°å ¥ããŸãããNativePathEffect ã®äœ¿çšãéæšå¥šã«ãªãã代ããã« PathEffect ã® Expect / Actual å®è£ ãå°å ¥ããŸãããïŒI5e976ãb/171072166ïŒ
Espresso ã®ã¢ã€ãã«ç¶æ ãªãœãŒã¹ã® Compose ããµããŒãããããªã¢ã³ããšããŠãIdlingResource ã€ã³ã¿ãŒãã§ãŒã¹ã Compose ã«è¿œå ããŸããããããã®ã€ã³ã¿ãŒãã§ãŒã¹ã¯ ComposeTestRule ã«ããç»é²ãšç»é²è§£é€ãã§ããŸããïŒI433f3ïŒ
ComposeIdlingResource ã®ã°ããŒãã«ãªç»é²ããã³ç»é²è§£é€ãšãComposeIdlingResource ãžã®ã¯ããã¯ã®ã°ããŒãã«ãªç»é²ããã³ç»é²è§£é€ãåé€ããŸãããïŒI32660ïŒ
ãã°ã®ä¿®æ£
- ãªãã»ãã修食åã®ã©ã ãã Float ã§ã¯ãªã IntOffset ãè¿ãããã«ãªããŸãããïŒIc9ee5ãb/174137212ãb/174146755ïŒ
SlotTableãSlotReaderãSlotWriter ãå ¬é API ããåé€ããŸããããããã¯ã以å InternalComposeAPI ãšããŠããŒã¯ãããŠããŸãããçŸåšã¯ Compose ã¢ãžã¥ãŒã«ã®å éšã«ãããŸãã
ã³ã³ããžã·ã§ã³æ å ±ã®æœåºã«äœ¿çšãããããCompositionData ãš CompositionGroup ã UI-Tooling API ã«ä»£ãã£ãŠè¿œå ãããŸããããããã¯å ¬éãããŠããŸãããUI-Tooling API ãè§£éããæªå å·¥ã®æ å ±ãæäŸããã®ã§ãUI-Tooling API ã®å€éšã§ã®äœ¿çšã¯æ³å®ãããŠããŸãããïŒI31a9cïŒ
ShaderBrush ããªãã¡ã¯ã¿ãªã³ã°ããŠãæç»ç°å¢ã®ãµã€ãºèšå®æ å ±ãå©çšã§ããå Žåã«ã·ã§ãŒã㌠ã€ã³ã¹ã¿ã³ã¹ãé å»¶äœæã§ããããã«ããŸããããããå©çšãããšãã«ã¹ã¿ã ã® DrawModifier ãå®è£ ããªããŠããã³ã³ããŒãºæã«ã³ã³ããŒã¶ãã«ã®æç»å¢çå šäœãå æããã°ã©ããŒã·ã§ã³ãå®çŸ©ã§ããŸãã
ã°ã©ããŒã·ã§ã³é¢æ°ã³ã³ã¹ãã©ã¯ã¿ API ãéæšå¥šãšãã代ããã« Gradient ãªããžã§ã¯ãã®ãã¡ã¯ã㪠ã¡ãœãããå°å ¥ããŸãããïŒI511fcãb/173066799ïŒ
LazyColumnForãLazyRowForãLazyColumnForIndexedãLazyRowForIndexed ã®ãµããŒããçµäºããŸããã代ããã« LazyColumn ãš LazyRow ã䜿çšããŠãã ããïŒI5b48cïŒ
BuildCompat.isAtLeastR ãéæšå¥šã«ãªããŸããïŒIdb37eïŒ
AnnotatedString ãæ§ç¯ã§ããããã«ãbuildAnnotatedString ãã¡ã¯ããªé¢æ°ã远å ããŸãããannotatedString ã®æ§ç¯é¢æ°ãéæšå¥šãšããŸãããïŒIdfe0bïŒ
å€ãã©ãžã¢ã³ã«å€æã§ããããã«ãFloat ãš Double ã®æ¡åŒµã¡ãœãããåé€ãããããã®ã¡ãœããã䜿çšãããŠããå¯äžã®å Žæã ã£ãå®è£ PathParser å ã®ãã©ã€ããŒã颿°ã«ç§»åããŸãããïŒI25f52ïŒ
ããŒãžã§ã³ 1.0.0-alpha08
2020 幎 12 æ 2 æ¥
androidx.compose.ui:ui-*:1.0.0-alpha08
ããªãªãŒã¹ãããŸãããããŒãžã§ã³ 1.0.0-alpha08 ã«å«ãŸãã commit ã«ã€ããŠã¯ããã¡ããã芧ãã ããã
API ã®å€æŽ
- ã»ãã³ãã£ã¯ã¹ ã¢ã¯ã·ã§ã³ Dismiss ã远å ããŸãããïŒI2b706ïŒ
- DrawModifier API ã androidx.compose.ui ããã±ãŒãžãã androidx.compose.ui.draw ããã±ãŒãžã«ç§»åããŸãããéæšå¥šãšãªã£ã API ããçŸåšã® API ãžã®ç§»è¡ã«åœ¹ç«ã€åãšã€ãªã¢ã¹ / ãã«ã㌠ã¡ãœãããå«ã DrawModifierDeprecated.kt ãã¡ã€ã«ãäœæããŸãããïŒId6044ãb/173834241ïŒ
- Modifier.drawLayer ã®ååã Modifier.graphicsLayer ã«å€æŽããŸããããŸããAPI ã®ãã£ãŒãããã¯ã«åŸã£ãŠãé¢é£ããã¯ã©ã¹ã GraphicsLayer ã«æŽæ°ããŸãããïŒI0bd29ãb/173834241ïŒ
- æ°ããã¡ãœãã placeable.placeWithLayer() ããã³ placeable.placeRelativeWithLayer() ã远å ãããŸãããããã«ãããã«ã¹ã¿ã ã¬ã€ã¢ãŠããšã¬ã€ã¢ãŠã修食åã§ãæç»çšã®ã°ã©ãã£ã㯠ã¬ã€ã€ãå°å ¥ããŠåãé 眮ã§ããããã«ãªããŸãããŸããåæç»ãæé©åã§ããã®ã§ãåãç§»åããå¿ èŠããããšãã«ã³ã³ãã³ããåæç»ããã«æžã¿ãŸããæ¬¡ã«ãåã«æç»å€æãé©çšã§ããŸããïŒIbd8f6ãb/170296989ãb/171493718ãb/173030831ïŒ
- SubcomposeLayout 宣èšãã
<T>
ãåé€ãããŸãããçŸåšã¯ãã¿ã€ããæå®ããã«ããã䜿çšã§ããŸããïŒIb60c8ïŒ - Modifier.scale API / Modifier.rotate API ã drawLayer çšã®ã³ã³ãããšã³ã¹ API ãšããŠè¿œå ããŸããã
Modifier.drawOpacity
ã®ååãModifier.alpha
ã«å€æŽããŸãããModifier.drawShadow
ã®ååãModifier.shadow
ã«å€æŽããŸããïŒI264caãb/173208140ïŒ
- PointerInputData ã® uptime ãã£ãŒã«ããš position ãã£ãŒã«ãã null å€é蚱容ã«ããŸãããïŒId468aïŒ
- MaterialTheme ã¯ãéžæãã³ãã«ãšéžæèæ¯ã«æ£ããè²ãèšå®ããããã«ãªããŸãããéãããªã¢ã« ã¢ããªã§ã¯ãAmbientTextSelectionColors ãæåã§äœ¿çšããŠãéžæçšã®è²ãã«ã¹ã¿ãã€ãºã§ããŸããïŒI1e6f4ãb/139320372ãb/139320907ïŒ
- ãã¹ã ãŠã£ã³ããŠããã©ãŒã«ã¹ãããŠãããã©ããããã§ãã¯ãã WindowManager.isWindowFocused ãšãonWindowFocusChanged ã³ãŒã«ããã¯ãæäŸãã WindowFocusObserver ã远å ããŸãããïŒI53b2aãb/170932874ïŒ
- TransformOrigin API ãæŽæ°ãã
pivotFractionX
ããã³pivotFractionY
ãcomponent1
ããã³component2
ãšããŠè¿ãéæ§é åæ§æã远å ããŸããïŒIf43c4ãb/173586560ïŒ - Compose ã®ã¬ã€ãã©ã€ã³ãšã®æŽåæ§ã確èªãããããã³ã³ããŒãºå¯èœãªã©ã ã ãã©ã¡ãŒã¿ã®ååãšäœçœ®ã«å¯Ÿãã lint ãã§ãã¯ã远å ããŸããããŸããlint ãã§ãã¯ããã³ã¬ã€ãã³ã¹ã«åŸã£ãŠãåŸçœ®ã©ã ãã®ååãšããŠ
children
ã䜿çšããäžéšã® API ãcontent
ã«ç§»è¡ããŸãããïŒIec48eïŒ - ããŒã€ãã³ãããã£ã¹ãããããããšãã« AltãCtrlãMetaãShift ã®ããããã®ä¿®é£ŸããŒãæŒããããã©ããããã§ãã¯ãã API ã远å ããŸãããïŒI50ed9ïŒ
- æ°ãã
Modifier.drawLayer()
ãªãŒããŒããŒãã远å ããŸãããããã¯ãæ°ãã GraphicsLayerScope ã§ã©ã ããããã¯ãåãåããŸããããã§ã¯ãç¶æ ã®å€åãçãããšãã«åã³ã³ããžã·ã§ã³ãšåã¬ã€ã¢ãŠããã¹ãããã§ããããã«ã¬ã€ã€ ãã©ã¡ãŒã¿ãå®çŸ©ããŸããDrawLayerModifier ã¯ããã®ããžãã¯ã LayoutModifier ã® placeable.placeWithLayer() ã¡ãœããã«ç§»åããããã®æºåãšããŠãå éšã«é èœãããŸããïŒI15e9fãb/173030831ïŒ Ambient
ãšããæ¥å°ŸèŸãæã€ Ambient ãéæšå¥šã«ãªãããã®ä»ã® Ambient ãš Compose API ã®ã¬ã€ãã©ã€ã³ã«æ²¿ã£ãŠãAmbient ãšããæ¥é èŸãæã€æ°ããããããã£ã«çœ®ãæããããŸãããïŒI33440ïŒandroidx.compose.ui.text.Typeface
ãandroidx.compose.ui.text.font.Typeface
ã«ç§»åããŸããïŒIc2b81ïŒ- ã»ãã³ãã£ã¯ã¹åŒæ° mergeAllDescendants ã®ååã mergeDescendants ã«å€æŽãããŸãããïŒIb6250ïŒ
- äžæåæ¢ãã€ã³ã¿å ¥å API ã䜿çšããæ°ãããã©ãã° ãžã§ã¹ãã£ãŒæ€åºåšã远å ãããŸããïŒæ¹åã®ããã¯ãå«ãïŒãïŒIcef25ïŒ
- VectorAsset ã®ååã ImageVector ã«å€æŽããŸããããŸããAPI ã®ã¬ã€ãã©ã€ã³ã«åŸããVectorAsset ãç§»åããŠååã Builder ã«å€æŽããImageVector ã®å éšã¯ã©ã¹ã«ããŸãããcompat çšã® ImageVector.Builder ã«ãªã³ã¯ãã VectorAssetBuilder ã®åãšã€ãªã¢ã¹ã远å ããŸãããïŒIcfdc8ïŒ
- ImageAsset ãšé¢é£ã¡ãœããã®ååã ImageBitmap ã«å€æŽããŸãããïŒIa2d99ïŒ
- PlacementScope ã® place() ã« zIndex ãã©ã¡ãŒã¿ã远å ããŸãããããã«ãããModifier.zIndex() ã LayoutModifier ãšããŠåäœããä»»æã®ã«ã¹ã¿ã ã¬ã€ã¢ãŠãããã¬ãŒã¹ã¡ã³ã ãããã¯å ã§åã® zIndex ãèšå®ã§ããããã«ãªããŸããïŒI711f7ãb/171493718ïŒ
- åºç€ã®ã»ãã³ãã£ã¯ã¹ ããããã£ã ui ã«ç§»åããŸããïŒI6f05cïŒ
- place(Offset) ãš placeRelative(Offset) ã®ãµããŒããçµäºããŸããã代ããã« int ãªãã»ãããå«ããªãŒããŒããŒãã䜿çšããŠãã ããïŒI4c5e7ïŒ
- 以åã«éæšå¥šã«ãªã£ã API ãåé€ãããŸãã: Modifier.onPositioned ãåé€ãããŸãããModifier.onGloballyPositioned ã䜿çšããŠãã ãããModifier.onDraw ãåé€ãããŸãããModifier.onDrawBehind ã䜿çšããŠãã ãããModifier.plus ãåé€ãããŸãããModifier.then ã䜿çšããŠãã ãããColor.Unset ãåé€ãããŸãããColor.Unspecified ã䜿çšããŠãã ãããPxBounds ãåé€ãããŸããã代ããã« Rect ã䜿çšããŠãã ãããïŒIe9d02ãb/172562222ïŒ
- Alignment ã€ã³ã¿ãŒãã§ãŒã¹ãæŽæ°ãããæ©èœããããã«ãªããŸãããïŒI46a07ãb/172311734ïŒ
- æ°ããäžæåæ¢ãã€ã³ã¿å ¥åã䜿çšãããã¿ãããããã«ã¿ãããé·æŒãããã¬ã¹æäœã®ãžã§ã¹ãã£ãŒæ€åºåšã远å ãããŸããããŠãŒãã£ãªãã£ãããã€ã远å ãããã®ã§ãããããããŒã¯ç¬èªã®ãžã§ã¹ãã£ãŒæ€åºåšãç°¡åã«äœæã§ããŸããïŒI00807ïŒ
LayoutIdParentData
çšã®id
ã®ååãlayoutId
ã«å€æŽãããŸãããMeasurable.id
ã®ååãMeasurable.layoutId
ã«å€æŽãããŸãããïŒIadbcbãb/172449643ïŒ- å転ããºãŒã ããã³ãæ€åºããããã®ãã«ããŒãå«ãæ°ãããã«ãã¿ãã ãžã§ã¹ãã£ãŒæ€åºåšã远å ãããŸãããïŒIc459dïŒ
- SweepGradientShader API ãš SweepGradientBrush API ãå°å ¥ããŸãããïŒIa22c1ïŒ
- ãã¹ãã®æéå¶åŸ¡ïŒTestAnimationClock ãšãã®äœ¿ç𿹿³ïŒã詊éšéçšçã«ãªããŸããïŒI6ef86ãb/171378521ïŒ
ã³ã«ãŒãã³ ããŒã¹ã®ã¹ã¯ããŒã« API ã远å ããŸããã
LazyListState.snapToItem ããã³ LazyListState.smoothScrollBy ãšãšãã«ãã¹ã¯ããŒã«å¶åŸ¡çšã®äœã¬ãã« API ã远å ããŸããããããã® API ã¯ãã¹ã¯ããŒã«ãçµäºãããŸã§åŸ æ©ããŠããæ»ãã¹ã¯ããŒã«ãå¶åŸ¡ããããã®äžæ¬¡åæ¢ã€ã³ã¿ãŒãã§ãŒã¹ãæäŸããŸããïŒIe5642ïŒ
Modifier.focusable ã foundation ã«è¿œå ãããŸãããããã䜿çšããŠãé©åãªã»ãã³ãã£ã¯ã¹ãšãŠãŒã¶ãŒè£å©æ©èœãåãããã©ãŒã«ã¹å¯èœãªåäœãã³ã³ããŒãã³ãã«è¿œå ã§ããŸããïŒI41eb9ãb/152525426ãb/162865824ïŒ
clock
ã«å§ä»»ã§ãã AnimationClockTestRule ã®ã¡ãœãããšããããã£ã®ããã©ã«ãå®è£ ãæäŸããŸããïŒI7ea3dãb/173399709ïŒAndroidComposeTestRule ãã«ã¹ã¿ã ã¢ã¯ãã£ãã㣠ã©ã³ãã£ãŒãåãå ¥ããããããã«ãªããŸããïŒIb8288ãb/153623653ãb/154135019ïŒ
TextLayoutResult.getLineVisibleEnd ãéæšå¥šã«ãªããŸããããã®ä»£ãããšããŠãTextLayoutResult.getLineEnd ã«æ°ãããã©ã¡ãŒã¿ visibleEnd ãå°å ¥ãããŸãããïŒI73282ïŒ
TextFieldValue API ã®æŽæ°
- TextFieldValue.composition ãèªã¿åãå°çšã«ããŸãã
- ç¡å¹ãªéžæç¯å²ã«å¯ŸããŠã¹ããŒãããäŸå€ãåé€ããŸããïŒI4a675ãb/172239032ïŒ
ããã¹ãèªã¿äžããšã³ãžã³çšã« TtsAnnotation ã®ãµããŒãã远å ããŸãããïŒI54cc6ïŒ
ã³ã«ãŒãã³ã§ã¢ãã¡ãŒã·ã§ã³ãå®è¡ããããã®æ°ãã API ã远å ããŸããïŒIed662ïŒ
ãã°ã®ä¿®æ£
- Box ã®ã¢ã©ã€ã¡ã³ã ãã©ã¡ãŒã¿ã®ååã contentAlignment ã«å€æŽãããŸãããïŒI2c957ïŒ
- offsetPx 修食åã®ååã offset ã«å€æŽãããŸãããçŸåšã¯ãState ã§ã¯ãªãã©ã ã ãã©ã¡ãŒã¿ãååŸããŸããïŒIc3021ãb/173594846ïŒ
- TextInputService#onStateUpdated ã« resetInput ãã©ã¡ãŒã¿ã远å ããŸããïŒI3e8f5ãb/172239032ãb/171860947ïŒ
- ã³ã³ããŒãºå¯èœãªé¢æ°ã« Modifier ãã©ã¡ãŒã¿ã® lint ãã§ãã¯ã远å ããŸããããã® lint ãã§ãã¯ã§ã¯ããã©ã¡ãŒã¿ã®ååãæ»ãå€ã®åãããã©ã«ãå€ãé åºã Compose ã®ã¬ã€ãã©ã€ã³ã«åŸã£ãŠãããã©ããã確èªãããŸããïŒIf493bïŒ
- TestAnimationClock ã MonotonicFrameClock ã«ãã£ãŠäœåããããã«ãããªãã·ã§ã³ãäžæçã«è¿œå ããŸãããïŒI1403bãb/173402197ïŒ
- Android Typeface ã©ãããŒã远å ããŸãããAndroid Typeface ã¯ã
typeface
颿°ïŒtypeface(Typeface.DEFAULT)
ïŒã«ãã£ãŠèªã¿èŸŒãããšãã§ããŸãããŸããtypefaceFromFontFamily()
ã®ååãtypeface()
ã«å€æŽããŸããïŒI52ab7ïŒ - Modifier ãã¡ã¯ããªé¢æ°ã Modifier ã®æ¡åŒµãšããŠå®çŸ©ãããã¹ã ãŒãºã«é£éã§ããããã«ãªã£ãŠãããã©ããã確èªãã lint ãã§ãã¯ã远å ããŸãããïŒI07981ïŒ
- å€ã ui-test ã¢ãžã¥ãŒã«ãšãã®ã¹ã¿ããåé€ããŸããïŒI3a7cbïŒ
- Recomposer 㯠EmbeddingContext ãåãå ¥ããªããªããŸãããå¿ èŠãªã¹ã±ãžã¥ãŒãªã³ã°äŸåé¢ä¿ã¯ effectCoroutineContext ããååŸãããŸããFrameManager ãéæšå¥šã«ãªããŸããããã©ãããã©ãŒã çµ±åã¯ãåºæã®ã°ããŒãã« ã¹ãããã·ã§ããåŠçãåæåããå¿ èŠããããŸããïŒI02369ïŒ
- ã¹ã¿ã€ã«æ å ±ããŠãŒã¶ãŒè£å©ããŒãã«æž¡ãããã«ããŸãããïŒIf5e8dïŒ
- ä»ã®åäœãšã®æŽåæ§ãå³ããããTextUnit.Inherit ã®ååã TextUnit.Unspecified ã«å€æŽãããŸãããïŒIfce19ïŒ
Compose UI ããŒãžã§ã³ 1.0.0-alpha07
2020 幎 11 æ 11 æ¥
androidx.compose.ui:ui-*:1.0.0-alpha07
ããªãªãŒã¹ãããŸãããããŒãžã§ã³ 1.0.0-alpha07 ã«å«ãŸãã commit ã«ã€ããŠã¯ããã¡ããã芧ãã ããã
API ã®å€æŽ
- ã¹ã±ãŒãªã³ã°ãäžåäžãªãŠãŒã¹ã±ãŒã¹ã«å¯Ÿå¿ããããã«ãäºãã«ç¬ç«ããæ°Žå¹³è»žãšåçŽè»žã®ã¹ã±ãŒãªã³ã° ãã¡ã¯ã¿ã衚ã ScaleFactor ã€ã³ã©ã€ã³ ã¯ã©ã¹ãå°å
¥ãããŸããã
- computeScaleFactor ã¡ãœããã ContentScale ã«è¿œå ããŸããã
- äžåäžãªã¹ã±ãŒãªã³ã°ã宿œããsrc å¢çãæ¡å€§ããŠãã¹ãã£ããŒã·ã§ã³ãå®å šã«å æãã ContentScale.FillBounds ã远å ããŸããã
- Size ãã©ã¡ãŒã¿ã䜿çšã㊠ScaleFactor ãã©ã¡ãŒã¿ãèšç®ããæŒç®åã¡ãœããã远å ããŸããã
- ïŒIc96a6ãb/172291582ïŒ
- Alignment ãäœæããããã® BiasAlignment ãã¡ã¯ããªãš BiasAbsoluteAlignment ãã¡ã¯ããªã远å ãããŸãããïŒIac836ãb/169406772ïŒ
- ããããããŒããã©ãŒã«ã¹ã匷å¶çã«ã¯ãªã¢ã§ããããã«ããŸãããïŒI90372ïŒ
- Compose å ã®ãã¥ãŒã«ãšã¬ããŒã·ã§ã³ãæç»ãããªããã°ãä¿®æ£ãããŸãããïŒIf7782ïŒ
- åœåèŠåã Modifier.drawBehind ãšäžèŽããããã«ãContentDrawScope å ã« onDrawBehind API ãäœæããŸãããïŒI4fc3aãb/171955269ïŒ
- ã¬ã€ã€ API ã§ã® 3D 倿 rotationX / rotationY ãè£å®ããããã«ãã«ã¡ã©è·é¢ã®ãµããŒãã远å ããŸãããïŒI40213ãb/171492100ïŒ
- ã³ãŒã«ããã¯ãªãã® SelectionContainer ã远å ããŸããïŒIbfadbïŒ
- ExperimentalSubcomposeLayoutApi ã¢ãããŒã·ã§ã³ãåé€ããŸããã@OptIn ã远å ããã« SubcomposeLayout ã䜿çšã§ããããã«ãªããŸããïŒI708adïŒ
- FirstBaseline ãš LastBaseline ã androidx.compose.ui.layout ããã±ãŒãžã«ç§»åããŸããïŒIed2e7ïŒ
- ãããã«ããã£ããããdrawShadow() 修食åããäžéæåºŠãåé€ããŸãããïŒI82c62ãb/171624638ïŒ
- MeasureResult ã MeasureScope ã®å€ã«ç§»åããŸãããïŒIbf96dãb/171184002ïŒ
- ããã€ãã®ã¬ã€ã¢ãŠãé¢é£ã·ã³ãã«ã androidx.compose.ui ãã androidx.compose.layout.ui ã«ç§»åããŸãããïŒI0fa98ãb/170475424ïŒ
- éæšå¥šã® FocusState2 ãåé€ããŸããïŒI686cbãb/168686446ïŒ
- ZIndexModifier ãå éšçšã«ãªããŸããïŒI1808bãb/171493718ïŒ
- é null ã® Size ãè¿ããŠäžèŠãªããã¯ã¹åãåé¿ããããã«ãSize ãã©ã¡ãŒã¿ã«ããã lerp ã¡ãœããã®æ»ãå€ã®åãæŽæ°ããŸãããïŒIb0044ïŒ
- kotlinx-coroutines-test ã® runBlockingTest ã䜿çšããŠã³ã³ããžã·ã§ã³ ãã¬ãŒã ã€ãã³ããåŸ æ©ããããã« Compose ã® MonotonicFrameClock ã«äŸåããã³ãŒãããã¹ãããããã®ãTestMonotonicFrameClock ã远å ããŸããïŒI4402fïŒ
- GestureScope.localToGlobal ãåé€ããŸããïŒI15299ãb/171462785ïŒ
onAllNodesWithSubstring
ãã¡ã€ã³ããŒã远å ããŸããïŒI81dd7ãb/171462889ïŒ- androidx.ui.test ã¢ãžã¥ãŒã«ãéæšå¥šã«ãªããŸãããandroidx.compose.ui.test ãš androidx.compose.ui.test.junit4 ã«ç§»è¡ããŠãã ããïŒI452e8ïŒ
ãã°ã®ä¿®æ£
- captureToBitmap ã captureToImage ã«ç§»åããŸãããïŒI86385ïŒ
- foundation.Text ãéæšå¥šã«ãªããmaterial.Text ã«çœ®ãæããããŸãããããŒãã®å€ã䜿çšããªããåºæ¬çã§ç¬èªæ§ã®ãªãããã¹ã API ã«ã€ããŠã¯ãandroidx.compose.foundation.BasicText ãã芧ãã ãããïŒIf64cbïŒ
- KeyboardOptions ãåãå ¥ããããã« TextFields ãæŽæ°ããŸããïŒIda7f3ïŒ
- KeyboardOptions ã®ååã ImeOptions ã«å€æŽããŸããïŒI82f36ïŒ
- KeyboardType ãš ImeAction ã KeyboardOptions ã«ç§»åããŸããïŒI910ceïŒ
- ã¢ã³ããšã³ããæäŸããä»£æ¿ææ®µãšã㊠provideDefault ã远å ãããŸãããã¢ã³ããšã³ãå€ããŸã æäŸãããŠããªãå Žåã«ã®ã¿èšå®ãããã¢ã³ããšã³ãå€ãæå®ããããã«äœ¿çšã§ããŸããïŒId6635ãb/171024925ïŒ
- BaseTextField ãéæšå¥šã«ãªããŸããã代ããã« BasicTextField ã䜿çšããŠãã ãããïŒI896ebïŒ
- ui-test-junit4 ã¢ãžã¥ãŒã«ãå°å ¥ããŸããïŒIb91f8ïŒ
relativePaddingFrom
ã®ååãpaddingFrom
ã«å€æŽãããŸãããã¬ã€ã¢ãŠãå¢çããããã¹ã ããŒã¹ã©ã€ã³ãŸã§ã®è·é¢ãæå®ããéã«äŸ¿å©ãªããã«ãpaddingFromBaseline
修食åã远å ãããŸãããïŒI0440aãb/170633813ïŒ- SideEffect API ãš DisposableEffect API ãšã®æŽåæ§ãæãããããã«ãLaunchedTask ã®ååã LaunchedEffect ã«å€æŽãããŸããããã¹ã ãã©ã¯ãã£ã¹ãä¿é²ããããã«ããµããžã§ã¯ã ãã©ã¡ãŒã¿ã®ãªã LaunchedEffect ã¯èš±å¯ãããŸãããïŒIfd3d4ïŒ
- æ§æãæŽæ°ããããšãã«åã³ã³ããŒãºãããªãœãŒã¹ ã³ã³ããŒã¶ãã«ãå°å ¥ããŸãããïŒI6387cãb/167352819ïŒ
- Recomposer ã¯ãäœææã« CoroutineContext ãå¿ èŠã«ãªããŸããïŒIc4610ïŒ
- è€æ°ã®
Modifier.zIndex()
ãé©çšããå Žåã¯zIndex
å€ãåèšããŸãã以åã¯æåã®ãã®ãåªå ãããŠããŸãããïŒIc514cãb/170623936ïŒ - å ¬é API ã«åœ±é¿ãäžããªããå éš SlotTable å®è£ ã«å€æŽããŸãããïŒIf9828ïŒ
- ããŒããŒãèªåä¿®æ£ã® IME ãªãã·ã§ã³ã远å ããŸããïŒI57b8dïŒ
- androidx.ui.test ã androidx.compose.ui.test ã«ç§»åããŸããïŒI9ffdbïŒ
- KeyboardOptions.toImeOptions ãå ¬é API ããåé€ããŸãããïŒIc2e45ïŒ
å€éšããã®åå
- å éšã¢ãŒãã£ãã¡ã¯ã androidx.compose.ui:ui-text-android ã®å ¬éãç¡å¹ã«ããŸããïŒIb93faïŒ
ããŒãžã§ã³ 1.0.0-alpha06
2020 幎 10 æ 28 æ¥
androidx.compose.ui:ui-*:1.0.0-alpha06
ããªãªãŒã¹ãããŸãããããŒãžã§ã³ 1.0.0-alpha06 ã«å«ãŸãã commit ã«ã€ããŠã¯ããã¡ããã芧ãã ããã
API ã®å€æŽ
- Recomposer ã CompositionReference ã«ãªããæå¹ãªã³ã³ããžã·ã§ã³ã®èŠªã«ãªããŸãããæç€ºç㪠Recomposer ãå¿ èŠãªå Žé¢ã¯å°ãªããªããŸãããïŒI4036fïŒ
- ã³ã³ããŒã¶ãã« API ãã³ã³ããžã·ã§ã³éã§ããŒã¿ãä¿æããããã«ãrememberããå éšçã«å©çšããŠããããšããããããã瀺ãããã«ãVectorPainter ã®ãµããŒããçµäºããrememberVectorPainter ã«çœ®ãæããããŸãããïŒIfda43ïŒ
- æç»ã³ãã³ãã®é åºã倿Žã§ããå®è£ ãæäŸããããã«ãContentDrawScope ã DrawScope ã§ã¯ãªãã¬ã·ãŒã㌠ã¹ã³ãŒããšããŠå ¬éããããã«ãModifier.drawWithCache API ãæŽæ°ããŸãããããã¯ã察å¿ãããã¬ã³ãã¢ãŒã ã¢ã«ãŽãªãºã ãé©åã«é©çšããããã«ãã³ã³ãã³ã ãã¯ã»ã«ãæåã«ã¬ã³ããªã³ã°ããå¿ èŠã®ãããã¬ã³ã / è²åã調æŽã®ãŠãŒã¹ã±ãŒã¹ã«äŸ¿å©ã§ããïŒIe7ec8ïŒ
- SimpleContainer ã PopupTestUtils.kt ã«ç§»åããŸããïŒI78c57ïŒ
- ConsumedData ãããŒã¿ã¯ã©ã¹ã§ã¯ãªããªããŸããã詳现ã«ã€ããŠã¯ https://android-review.googlesource.com/c/platform/frameworks/support/+/1455219 ãã芧ãã ããïŒI1737fïŒ
- Rtl ãã³ãã«äœçœ®ãä¿®æ£ããŸãããïŒI6e1e0ïŒ
- DrawScope ãš ContentDrawScope ããæœè±¡ã¯ã©ã¹ã§ã¯ãªãã€ã³ã¿ãŒãã§ãŒã¹ã«ãªãã¡ã¯ã¿ãªã³ã°ããŸãã
- DrawScope ã® CanvasDrawScope å®è£ ãäœæããŸãã
- 代ããã« CanvasScope ã䜿çšããããã«ãDrawScope ã®å®è£ ããªãã¡ã¯ã¿ãªã³ã°ããŸãã
- DrawScope ã®äŸåé¢ä¿ãã©ãããã DrawContext ãäœæããŸãã
- DrawScope ã®ãéæšå¥šã«ãªã£ãã¡ãœãããåé€ããŸãããïŒI56f5eïŒ
- äºææ§ãç Žã倿Ž: ãã€ã³ã¿ ã€ãã³ãã§å€æŽã§ããå¿
èŠãããå¯äžã®å€ãæ¶è²»ããŒã¿ã§ããããã
PointerInputFilter.onPointerEvent(...)
ããã®æ»ãå€ãåé€ããŸãããPointerInputFilter.onPointerEvent(...)
ããããŒã¿ãè¿ãã®ã§ã¯ãªããæž¡ããã PointerEvents ã®æ¶è²»ããŒã¿ã倿Žããã ãã§æžãããã«ãªããŸãããïŒI6acd0ïŒ - MeasureScope ãš IntrinsicMeasureScope ãã€ã³ã¿ãŒãã§ãŒã¹ã«ããŸãããïŒI1a087ãb/170461665ïŒ
- AlignmentLine ã®ããŒãžé¢æ°ãé衚瀺ã«ããŸãããïŒI9da1aãb/170612900ãb/170611568ïŒ
- ã³ã³ããŒãºããã修食åã§ã€ã³ã¹ãã¯ã¿æ å ±ãæå®ããæ©èœã远å ããŸããïŒIdee08ãb/163494569ïŒ
- SelectAll ãªãã·ã§ã³ãéžæã¡ãã¥ãŒã«è¿œå ããŸããïŒIef02bïŒ
- ããã¥ã¡ã³ãã«åãããŠãããã©ã«ã ãããã ãã©ã¡ãŒã¿ã§ãã center ãåãããã« DrawTransform.rotate ãæŽæ°ããŸããã
- ä»ã®å€æã¡ãœããã«åãããŠããããã ãã€ã³ãã®ãªãã»ããã䜿çšããããã« DrawScope.rotateRad ãæŽæ°ããŸããã
- ããããã® x 座æšãš y 座æšã«æµ®åå°æ°ç¹æ°ã䜿çšãã DrawScope.rotateRad ãªãŒããŒããŒããéæšå¥šã«ãªããŸããã
- ïŒIffcbbãb/170434992ïŒ
ãã°ã®ä¿®æ£
- MissingGetterMatchingBuilder ã® API lint ãã§ãã¯ã androidx ã§æå¹ã«ãªããŸããïŒI4bbeaãb/138602561ïŒ
- ãã¹ãã远å ããŸãããïŒI6b8aeïŒ
- ComposeTestRule ã§é·ç§»ãæå¹ã«ãªããŸãããComposeTestRule ãããã«ãŒãœã«ã®ç¹æ» ãæå¹ã«ãããªãã·ã§ã³ãåé€ããŸãããïŒIf0de3ïŒ
- KeyboardCapitalization IME ãªãã·ã§ã³ã远å ããŸããïŒI8ac38ïŒ
- åäžè¡ã®ããŒããŒã ãªãã·ã§ã³ã CoreTextField ã«è¿œå ããŸããïŒI72e6dïŒ
- SimpleContainer ã PopupTestUtils.kt ã«ç§»åããŸããïŒI65c3eïŒ
- Compose å šäœã§ã®äœ¿ç𿹿³ããããããã衚çŸããããã«ãRadius API ã®ååã CornerRadius ã«å€æŽããŸãããè² ã®ã³ãŒããŒååŸã 0 ã«åºå®ãããããšã瀺ãããã«ããã¥ã¡ã³ããæŽæ°ããŸãããïŒI130c7ãb/168762961ïŒ
ACTION_DOWN
ãé€ããã¹ãŠã®ã¢ã¯ã·ã§ã³ã§ãonTouchEvent ã«ã€ã㊠false ãè¿ãå Android ãã¥ãŒã« MotionEvents ãç¶ç¶çã«éä¿¡ããããšã§ãAndroid ã®çžäºéçšæ§ãæ¹åããŸããïŒI94c5aãb/170320973ïŒ- Box ãã€ã³ã©ã€ã³é¢æ°ã«ãªããŸãããïŒIbce0cãb/155056091ïŒ
å€éšããã®åå
AnnotatedString.capitalize
ãšAnnotatedString.decapitalize
ã«ã€ããŠãããŸããŸãªãã±ãŒã«ããµããŒãããŸããïŒI4aa7fïŒ
ããŒãžã§ã³ 1.0.0-alpha05
2020 幎 10 æ 14 æ¥
androidx.compose.ui:ui-*:1.0.0-alpha05
ããªãªãŒã¹ãããŸãããããŒãžã§ã³ 1.0.0-alpha05 ã«å«ãŸãã commit ã«ã€ããŠã¯ããã¡ããã芧ãã ããã
API ã®å€æŽ
- ã€ã³ã¹ãã¯ã¿æ å ±ãæå®ããããã® DSL ã远å ãããŸããïŒIc9a22ïŒ
- LongPress ã Text ã«ç§»åãããŸããïŒIff2bcïŒ
- 詊éšéçšçã® Modifier.pointerInput å ¥åäžæåæ¢ä¿®é£ŸåïŒIa77d2ïŒ
- ã³ã㌠/ 貌ãä»ã / åãåãã®ãŠãŒã¶ãŒè£å©ã¢ã¯ã·ã§ã³ã远å ãããŸããïŒI6db4fïŒ
- AndroidOwner ã®ãããªã㯠ã³ã³ã¹ãã©ã¯ã¿ãåé€ãããŸããïŒIacaefïŒ
- ãããã¢ãããšãã€ã¢ãã°ã芪ãŠã£ã³ããŠãã FLAG_SECURE ãç¶æ¿ããããã«ãªããŸããããŸãããããæç€ºçã«èšå®ããããã®ãªãã·ã§ã³ã远å ãããŸãããïŒI64966ãb/143778148ãb/143778149ïŒ
æ¶è²»ããŒã¿ã倿Žå¯èœã«ãªããŸããããŸããæ¶è²»ãè¡ãæ¡åŒµé¢æ°ã®åŒã³åºãããæ°ãã PointerInputChange ãè¿ããªãããã«ãªãããã®ä»£ããã«æå®ããã PointerInputChange ã倿Žã§ããããã«ãªããŸãã
ããã¯ããŠãŒã¶ãŒã³ãŒãã§ä»ã®ãã€ã³ã¿ããŒã¿ãç·šéã§ããªããã PointerEvent ããŒã¿ã倿Žå¯èœã«ãã 2 段éããã»ã¹ã®æåã®ã¹ãããã§ãã2 ã€ç®ã®ã¹ãããã§ã
PointerInputFilter.onPointerEvent(...)
ããã®æ»ãå€ã®åList<PointerInputChange>
ãåé€ããŸãïŒId067eïŒText ã§ã®éžæãšããã¢ãç¡å¹ã«ãªããŸããïŒIe7e97ïŒ
onGloballyPositioned ãã€ã³ã©ã€ã³é¢æ°ã«ãªããŸããïŒI15830ïŒ
OnPositionedModifier ã OnGloballyPositionedModifier ãšããååã«ãonPositioned() ã onGloballyPositioned() ãšããååã«å€æŽãããŸããïŒI587e8ãb/169083903ïŒ
hasPendingMeasureOrLayout ããããã£ã Owner ã«è¿œå ãããOwner ã«ä¿çäžã®ã¬ã€ã¢ãŠãäœæ¥ããããã©ãããäŒããããããã«ãªããŸããïŒI3d9f8ãb/169038599ïŒ
ããã°ã©ã ã§ãã©ãŒã«ã¹ãã¯ãªã¢ããããã« API ã远å ããŸããïŒIe1dc2ãb/161487952ïŒ
PointerInputFilter.onPointerInput(...)
ãåé€ãããŸããã代ããã«PointerInputFilter.onPointerEvent(...)
ã䜿çšããŠãã ããïŒI6f04aïŒSize ã®å€æŽ
- Size.getFlipped ãåé€ãããŸãã
- Size.rem ãåé€ãããŸãã
- Size.truncDiv ãåé€ãããŸããïŒIef44dãb/169790720ïŒ
ã€ã³ã©ã€ã³ ã¯ã©ã¹åãæšèå€ã®æšæºåã®äžç°ãšããŠãä»ã®ã€ã³ã©ã€ã³ ã¯ã©ã¹ãšæŽåãããã Color.Unset ã Color.Unspecified ãšããååã«å€æŽãããŸããïŒI97611ãb/169797763ïŒ
TextOverflow.None ãå°å ¥ãããŸããããªãŒããŒãããŒã None ã®å ŽåãText ã¯ãã以äžãªãŒããŒãããŒãåŠçãããå®éã®ãµã€ãºã LayoutNode ã«å ±åããããã«ãªããŸããïŒI175c9ãb/158830170ïŒ
API ã®äžè²«æ§ã確ä¿ãããã AnnotatedString.Builder.addStringAnnotation å ã® scope ãã©ã¡ãŒã¿ã tag ãšããååã«å€æŽãããŸããïŒI7c8cbïŒ
ãã°ã®ä¿®æ£
- LazyColumn/Row ã®ã¹ã¯ããŒã« ããã©ãŒãã³ã¹ããã¹ã¯ããŒã«ããšã®ãµãã³ã³ããžã·ã§ã³ã§ã®äœæ¥ã軜æžããããšã§æ¹åãããŸãããComposition ã¯ã©ã¹çšã®æ°ãã hasInvalidations() ã¡ãœããã远å ãããŸãããRecomposer ã® hasPendingChanges() ã¡ãœãã㯠hasInvalidations() ãšããååã«å€æŽãããŸããïŒIb2f32ãb/168293643ãb/167972292ãb/165028371ïŒ
- Float.POSITIVE_INFINITY ã§ã¯ãªã Float.NaN ã«ãªããã Size.Unspecified ãã©ã¡ãŒã¿ãæŽæ°ãããŸãããç¡å¶éã® Sizes ã ãã§ãªã Size.Unspecified ããã§ãã¯ãããã Painter ã®å®è£ ãæŽæ°ãããŸããïŒI95a7eïŒ
- ã«ã¹ã¿ã Layouts ã§ã® place() åŒã³åºãã®é åºã§ãåã®æç»é åºãå®çŸ©ã§ããããã«ãªããŸããïŒIbc9f6ïŒ
- ãŠãŒã¶ãŒè£å©ã®ããã« AnnotatedString ãã SpannableString ãžã®å€æããµããŒããããããã«ãªããŸããïŒIef907ïŒ
- å¯èœãªéããªãã¬ã¯ã·ã§ã³ã®äœ¿çšãåé¿ãããããå€ããã©ãããã©ãŒã ã«ãã android ã¯ã©ã¹åãã®ã¹ã¿ãã远å ãããŸããïŒIa1790ïŒ
- ãã°ã®ä¿®æ£: ãœãããŠã§ã¢ ããŒããŒãã®è¡šç€ºã«ãã£ãŠã¢ããªã翻蚳ãããå Žåã«ããã€ã³ã¿å ¥åã®åº§æšãäžæ£ç¢ºã«ãªããŸãïŒIc4cecãb/163077821ïŒ
ããŒãžã§ã³ 1.0.0-alpha04
2020 幎 10 æ 1 æ¥
androidx.compose.ui:ui-*:1.0.0-alpha04
ããªãªãŒã¹ãããŸãããããŒãžã§ã³ 1.0.0-alpha04 ã«å«ãŸãã commit ã«ã€ããŠã¯ããã¡ããã芧ãã ããã
API ã®å€æŽ
- ã¬ã€ã¢ãŠããå³åœ¢æç»ã®ã¢ãã¿ãªã³ã° ã¹ã³ãŒãããæå¹ã§ãªããªã£ãåŸã«åéã§ããããã«ãOwnerScope ã远å ããŸãããïŒIc4cf8ïŒ
- ã³ã³ãã³ã ã¬ã€ã¢ãŠããåæž¬å®ããããšããšãµã€ãºã倿Žããããšãã«ãããããã³ãŒã«ããã¯ãåãåãããã«ãOnRemeasuredModifier ãš onSizeChanged() ã远å ããŸãããïŒI657cfãb/154108792ïŒ
- é·ãã¯ãªã㯠ã»ãã³ãã£ã¯ã¹ ã¢ã¯ã·ã§ã³ã远å ããŸãããïŒI6281bãb/156468846ïŒ
- FocusManager ãéå ¬éã«ããŸãããïŒI7872fïŒ
å®è£ ãæŽæ°ããŠãDrawModifier ã«ãªãã·ã§ã³ã®ããããã£ã远å ããã«å°çšã® DrawCacheModifier å®è£ ãäœæããããã«ããŸããã
åçš®ã¡ãœããã®ããã¥ã¡ã³ããæŽæ°ããŸãããïŒIbd166ïŒ
ãªããžã§ã¯ãäœæãåé¿ããããã«ãTextRange ãã€ã³ã©ã€ã³åããŸãããïŒId034bïŒ
PlacementScope#parentWidth ãš PlacementScope#parentLayoutDirection ããã«ã¹ã¿ã ã¬ã€ã¢ãŠãã®ãã¬ãŒã¹ã¡ã³ã ãããã¯ããèªã¿åãããšãã§ããªããªããŸããïŒIcc1aeãb/168295623ïŒ
ã»ãã³ãã£ã¯ã¹ ããããã£ã« AccessibilityScrollState ã远å ããŸãããïŒIfeda9ïŒ
Modifier.drawWithCache ãå°å ¥ããŸãããããã«ããããµã€ãºãç¶æ ã«é¢ããæ å ±ã«äŸåããäŸåé¢ä¿ãæ¡ä»¶ä»ãã§åäœæããæç»ãªããžã§ã¯ãã容æã«äœæã§ããããã«ãªããŸããïŒI376dcïŒ
ParagraphConstraints ãåé€ããŸãããå¹ ãçŽæ¥ Paragraph ã«æž¡ãããããã«ãªããŸãããïŒIca712ïŒ
ãã°ã®ä¿®æ£
- ã°ã©ãã£ã㯠API ã倿°æŽæ°ããŸããã
- ã¹ã±ãŒã«å€æ API ãšåè»¢å€æ API ãæŽæ°ããŸãããããã«ãããDrawScope ãš DrawTransform ã® x 座æšãš y 座æšã« 2 ã€ã® float ãã©ã¡ãŒã¿ã䜿çšããŠãããã座æšãå¥åã«ç€ºãã®ã§ã¯ãªããåäžã® Offset ãã©ã¡ãŒã¿ã䜿çšããããã«ããŸããã
- Rect.expandToInclude ã¡ãœãããš Rect.join ã¡ãœãããåé€ããŸããã
- æ¥åã«å ããŠé·åã衚瀺ããããã« Radius ã®ããã¥ã¡ã³ããæŽæ°ããŸããã
- ã€ã³ã©ã€ã³ Radius ã¯ã©ã¹ã®ãããªã㯠ã³ã³ã¹ãã©ã¯ã¿ãçŽæ¥åŒã³åºãã®ã§ã¯ãªãã颿°ã³ã³ã¹ãã©ã¯ã¿ãéã㊠Radius ãªããžã§ã¯ããã€ã³ã¹ã¿ã³ã¹åããå¿ èŠãããããšãããã¥ã¡ã³ãã«èšèŒããŸããã
- topRightãbottomRightãbottomCenter ãªã©ãç §äŒããããã® RoundRect API ãåé€ããŸããã
- Rect.shift ãéæšå¥šã«ãªããRect.translate ã«çœ®ãæããããŸããã
- RoundRect.grow API ãš Rect.shrink API ãåé€ããŸããã
- RoundRect.outerRect ã®ååã Rect.boundingRect ã«å€æŽããŸããã
- RoundRect.middleRect/tallMiddleRect/wideMiddleRect ãš Rect.isStadium ã¡ãœãããåé€ããŸããã
- RoundRect.longestSide ã®ååã RoundRect.maxDimension ã«å€æŽããŸããã
- RoundRect.shortestSide ã®ååã RoundRect.minDimension ã«å€æŽããŸããã
- RoundRect.center ã¯ã颿°ã§ã¯ãªãããããã£ã«ãªããŸããã
- RoundRect ã³ã³ã¹ãã©ã¯ã¿ãæŽæ°ããx/y ååŸã®å€ã®åã ã®ãã©ã¡ãŒã¿ã§ã¯ãªã Radius ããããã£ã䜿çšããããã«ããŸããã
- åç¹ãïŒ0,0ïŒã®é·æ¹åœ¢ã§ãããšä»®å®ããŠãã Size API ãåé€ããŸããã
- Radius ã«èšè¿°è§£é€ API ã远å ããŸããã
- ããŸããŸãª RoundRect æ¡åŒµé¢æ°ãããããã£ã«ç§»è¡ããŸããã
- ïŒI8f5c7ãb/168762961ïŒ
- foundation.Box ã¯éæšå¥šã«ãªããŸããã代ããã« foundation.layout.Box ã䜿çšããŠãã ãããïŒIe5950ãb/167680279ïŒ
- Stack ã Box ã«åå倿ŽãããŸãããcompose.foundation.layout ã«ããæ°ãã Box ãåªå ããŠãæ¢åã® Box ã¯éæšå¥šã«ãªããŸããBox ã®åãè€æ°ããå Žåãæ°ãã Box ã¯åãäºãã«éãåãããããã«åäœããŸããããã¯ãColumn ãšåãããã«åäœããŠãã以åã® Box ãšã¯ç°ãªããŸããïŒI94893ãb/167680279ïŒ
- Box è£ é£Ÿãã©ã¡ãŒã¿ãéæšå¥šã«ãªããŸãããBox ã«è£ 食ãããã£ã³ã°ãä»ããå Žåã¯ã代ããã«ä¿®é£Ÿåã䜿çšããŸããïŒModifier.backgroundãModifier.borderãModifier.paddingïŒïŒIbae92ãb/167680279ïŒ
- ã°ã©ãã£ã㯠API ã倿°æŽæ°ããŸããã
- ç¯å²éå®å€æã¡ãœããã®ãã DrawScope API ãæŽæ°ãã倿ãã³ãŒã«ããã¯å ã§ã®ã¿é©çšãããã³ãŒã«ããã¯ãåŒã³åºãããåŸã«åé€ãããããšã瀺ãããã«ããŸããã
- äžžã¿ã垯ã³ãé·æ¹åœ¢ã§ã¯ãªããã¹ãåç §ããããã« clipPath ã®ããã¥ã¡ã³ããæŽæ°ããŸããã
- ããã¥ã¡ã³ãå ã® clipPath ã®å³ãã©ã¡ãŒã¿ã®ééãä¿®æ£ããŸããã
- DrawScope.drawCanvas ã®ååã drawIntoCanvas ã«å€æŽããsize ãã©ã¡ãŒã¿ãåé€ããŸããã
- ã€ã³ã»ãã ã¡ãœããã® dx ãã©ã¡ãŒã¿ãš dy ãã©ã¡ãŒã¿ã®ååã horizontal ãš vertical ã«å€æŽããŸããã
- 4 ã€ã®ãã¹ãŠã®å¢çã«åãã€ã³ã»ããå€ãæå®ããã€ã³ã»ãã ãªãŒããŒããŒãã远å ããŸããã
- ã€ã³ã»ããã 4 ã€ã®èŸºãã¹ãŠã«é©çšãããããšã瀺ãã€ã³ã»ãã ã¡ãœããã«é¢ããããã¥ã¡ã³ããåé€ããŸããã
- Rect ã¯ã©ã¹çšã®ããã¥ã¡ã³ããæŽæ°ããŸããã
- kdoc ã¹ã¿ã€ã«ã«åãã㊠Rect ãã©ã¡ãŒã¿ã®ã³ã¡ã³ããæŽæ°ããŸããã
- Rect.join ãš Rec.expandToInclude ãåé€ããŸããã
- Rect.translate(offset) ã®ãªãŒããŒããŒããäœæããRect.shift ãéæšå¥šãšããŸããã
- ïŒIf086aãb/167737376ïŒ
- rootAnimationClockFactoryãtransitionsEnabledãblinkingCursorEnabledãtextInputServiceFactory ã @VisibleForTesting ã§ã¢ãããŒã·ã§ã³ããå éš API åã㊠kdoc ãé衚瀺ã«ããŸãããïŒI554ebãb/168308412ïŒ
- ããã©ã«ãã®éžæãç¡å¹ã«ããäºæããªãåäœãåé¿ããããã«ãSelectionContainer ã Top ããåé€ããŸããã代ããã« SelectionContainer ã䜿çšããããšã§ãéžæããå¿ èŠãããã³ã³ãã³ããã©ããã§ããŸããïŒI8dfe0ãb/158459594ïŒ
ããŒãžã§ã³ 1.0.0-alpha03
2020 幎 9 æ 16 æ¥
androidx.compose.ui:ui-*:1.0.0-alpha03
ããªãªãŒã¹ãããŸãããããŒãžã§ã³ 1.0.0-alpha03 ã«å«ãŸãã commit ã«ã€ããŠã¯ããã¡ããã芧ãã ããã
API ã®å€æŽ
- ã¹ã¯ããŒã«ã®ååŸã®ã»ãã³ãã£ã¯ã¹ ã¢ã¯ã·ã§ã³ãåé€ããŸãããAccessibilityRangeInfo ã« steps ã远å ããŸãããïŒIa47b0ïŒ
Owner
ããonInvalidate()
ãåé€ããŸãããOwnedLayer
ãç¡å¹åãåŠçããŸããïŒIca72bãb/162061312ïŒOffset ãã©ã¡ãŒã¿ã䜿çšãã Size API ã®æŒç®åã¡ãœãããåé€ããŸããããããã®ãªãã¬ãŒã·ã§ã³ã®çµæã¯äžæç¢ºã§ãããçµæã®åã¯äºæããªããã®ã§ããäŸ: size - offset ã¯çžéã®ãããªãã»ãããŸãã¯ãµã€ãºçµæãè¿ããïŒ
ãŸããSize ã¯ã©ã¹ã®éæšå¥šã«ãªã£ãã¡ãœãããåé€ããŸãããïŒIec902ãb/166514214ïŒ
ãã°ã®ä¿®æ£
- LazyColumn ã®ã¢ã€ãã ã誀ã£ãŠæç»ãããåé¡ãä¿®æ£ããŸããããã®åé¡ã¯ãæ¡ä»¶ã«ãã£ãŠã¯ã¯ã©ãã·ã¥ã䌎ã£ãŠããŸãããïŒIbcf17ãb/163066980ãb/165921895ïŒ
- DpConstraints ãšããã䜿çšãã API ãéæšå¥šã«ãªããŸãããïŒI90cdbãb/167389835ïŒ
createAndroidComposeRule
ãšAndroidInputDispatcher
ãandroidx.ui.test.android
ããandroidx.ui.test
ã«ç§»åããŸããïŒIdef08ãb/164060572ïŒ- ã¬ã€ã¢ãŠã API ã® gravity ã®çšæ³ã§ãååã align ãŸã㯠alignment ã«äžè²«ããŠå€æŽãããŸãããïŒI2421aãb/164077038ïŒ
- çŸåšã®ã°ããŒãã« ã¡ãœãããéæšå¥šã«ãªããããonNode ãªã©ã®ã°ããŒãã« ã¡ãœããã ComposeTestRule ã«è¿œå ãããŸãããïŒIeae36ïŒ
ããŒãžã§ã³ 1.0.0-alpha02
2020 幎 9 æ 2 æ¥
androidx.compose.ui:ui-*:1.0.0-alpha02
ããªãªãŒã¹ãããŸãããããŒãžã§ã³ 1.0.0-alpha02 ã«å«ãŸãã commit ã«ã€ããŠã¯ããã¡ããã芧ãã ããã
API ã®å€æŽ
- layoutnode å¢çã倿Žããããšãã«ãã³ãŒã«ããã¯ãåé€ããŠãªãŒããŒã«éç¥ããŸããïŒIf654eãb/166106882ïŒ
- evenOdd ãŸã㯠NonZero ãã¹ã®å¡ãã€ã¶ãèŠåã«åŸã£ãã·ã§ã€ãã®ã«ããã¢ãŠãããµããŒãããããã«ããã¯ã¿ãŒ ã°ã©ãã£ã㯠ãã¹ã§ã® filltype ãã©ã¡ãŒã¿ã®ãµããŒãã远å ããŸãããïŒI43dd2ïŒ
- Uptime ãš Velocity ãã€ã³ã©ã€ã³ ã¯ã©ã¹ã«ãªããŸããïŒI48f4aïŒ
- Duration ãã€ã³ã©ã€ã³ ã¯ã©ã¹ã«ãªããŸããïŒI565ebïŒ
- layoutnode å¢çã倿Žããããšãã«ããªãŒããŒã«éç¥ããã³ãŒã«ããã¯ã远å ããŸããïŒIc40b3ïŒ
ãªãã»ãããšååŸãæå®ãã Rect 颿°ã³ã³ã¹ãã©ã¯ã¿ã«ãã£ãŠãå·Šãäžãå³ãäžã§ã¯ãªããå·Šãå³ãäžãäžã®é åºã§ Rect ãäœæãããåé¡ãä¿®æ£ããŸããã
Rect ã§éæšå¥šã®ã³ã³ãããªã³ ã¡ãœãããåé€ãã颿°ã³ã³ã¹ãã©ã¯ã¿ã«çœ®ãæããŸããã
Rect.kt ã«ã¡ãœããã確èªãããã¹ãã远å ããŸãããïŒI08460ãb/165822356ïŒ
ãã°ã®ä¿®æ£
- MutableRectïŒå€æŽå¯èœãªé·æ¹åœ¢ïŒã远å ããŸãããïŒI71bd2ãb/160140398ïŒ
- Matrix4 ã Matrix ã«å€æŽãããŸãããvectormas ããã±ãŒãžã®ä»ã®ãã¹ãŠã®éšåãåé€ãããŸãããïŒIbd665ãb/160140398ïŒ
ã³ã³ããŒãºå¯èœãªé¢æ°ã®åŒã³åºãèŠåã倿ŽãããŸãããããã¯äºææ§ãç Žããã€ããªã®å€æŽã§ãããã®ããŒãžã§ã³ã® Compose ã³ã³ãã€ã© ãã©ã°ã€ã³ã§åäœããã«ã¯ããã¹ãŠã®ã©ã€ãã©ãªãåã³ã³ãã€ã«ããå¿ èŠããããŸãã
倿Žããã API ã¯æç€ºçãªãªããã€ã³ãããã³ã³ãã€ã© API ã ãã§ããããããœãŒã¹ã¬ãã«ã§äºææ§ãç Žã倿Žã¯ãããŸãããïŒI7afd2ãb/158123185ïŒ
PointerInputFilter ã«ãã£ã¹ããããããš PointerInputFilter ãåæçã«åé€ãããå¯èœæ§ãããã¯ã©ãã·ã¥ãä¿®æ£ããŸãããïŒI58f25ïŒ
ããŒãžã§ã³ 1.0.0-alpha01
2020 幎 8 æ 26 æ¥
androidx.compose.ui:ui-*:1.0.0-alpha01
ããªãªãŒã¹ãããŸãããããŒãžã§ã³ 1.0.0-alpha01 ã«å«ãŸãã commit ã«ã€ããŠã¯ããã¡ããã芧ãã ããã
ããŒãžã§ã³ 0.1.0-dev
ããŒãžã§ã³ 0.1.0-dev17
2020 幎 8 æ 19 æ¥
androidx.compose.ui:ui-*:0.1.0-dev17
ããªãªãŒã¹ãããŸãããããŒãžã§ã³ 0.1.0-dev17 ã«å«ãŸãã commit ã«ã€ããŠã¯ããã¡ããã芧ãã ããã
API ã®å€æŽ
emitView
ãéæšå¥šã«ãªããŸãããCompose å ã§ View ãåºåããå Žåãå¯èœã§ããã°ã代ããã«AndroidView
ã䜿çšããŠãã ãããView ãš ViewGroup ãçŽæ¥ã³ã³ããŒãºããæ¹æ³ã¯ãå°æ¥ãµããŒããããªããªããŸãããã ããããããã³ã³ããžã·ã§ã³ ããªãŒã«æ®ã£ãŠããŠãAndroidView ã䜿çšããŠã³ã³ããŒãºãããå Žåã¯é€ããŸããïŒI29b1eãb/163871221ïŒFocusState2
ãéæšå¥šã«ãªããFocusState
ã«çœ®ãæããããŸãããïŒIa8b79ãb/160822876ãb/160923332ïŒ- éæšå¥šã«ãªã£ã AndroidView ã®ãªãŒããŒããŒããåé€ãããŸãããïŒI946b9ãb/163802393ïŒ
- ã«ã¹ã¿ã åºåã§ã¯ã1 ã€ä»¥äžã®ã»ãã¿ãŒãã¹ããããããã®åºåãšã¯é¢ä¿ãªãåã³ã³ããŒãºã§ããããšã宣èšã§ããããã«ãªããŸãããïŒIbbd13ïŒ
ãã¯ã¿ãŒã¯ã©ã¹ã倿ŽãããããŒã¿ã¯ã©ã¹ã§ã¯ãªããªããŸãããåããªããžã§ã¯ã ã€ã³ã¹ã¿ã³ã¹ãã³ã³ããžã·ã§ã³ã«äœ¿çšãããããã§ãã
ãã¯ã¿ãŒã®å 容ãå€ããå Žåã«æ¡ä»¶ä»ãã§åæç»ã§ããããã«ãVectorPainter ã® mutableStateOf ãã©ã°ã远å ãããŸããã
VectorComponent ã€ã³ã¹ã¿ã³ã¹ããªãã¡ã¯ã¿ãªã³ã°ãã㊠VectorPainter ã®äžéšãšãªããã³ã³ããžã·ã§ã³å šäœã§åå©çšãããããã«ãªããŸããã
GroupComponent ãš PathComponent ãæŽæ°ãããŠãååãã£ãŒã«ãã倿Žå¯èœã«ãªããŸãããïŒIeae45ãb/151378808ïŒ
onChildPositioned
ãšOnChildPositionedModifier
ãåé€ãããŸããã 代ããã«åã¬ã€ã¢ãŠãã§onPositioned
ãšOnPositionedModifier
ã䜿çšããå¿ èŠããããŸããïŒI4522eãb/162109766ïŒãªãã»ãããã€ã³ã©ã€ã³ ã¯ã©ã¹ã«ãªããŸãããïŒIaec70ïŒ
SelectionContainer ã«ä¿®é£Ÿåãã©ã¡ãŒã¿ã远å ããŸãããïŒI4aadaãb/161487952ïŒ
éæšå¥šã«ãªã£ã FocusModifier ãåé€ããŸãããïŒI0b4baãb/160922116ãb/160821157ãb/162441435ãb/160822875ãb/160921940ïŒ
SemanticsPropertyKey
ã«mergePolicy
ã©ã ãã远å ããŸãããããã䜿çšããŠãmergeAllDescendants ã»ãã³ãã£ã¯ã¹ã®ããŒãžã«é¢ããã«ã¹ã¿ã ããªã·ãŒãå®çŸ©ã§ããŸããããã©ã«ãã®ããªã·ãŒã§ã¯ããã§ã«ååšããå Žåã¯èŠªã®å€ã䜿çšããããã以å€ã®å Žåã¯åã®å€ã䜿çšãããŸããïŒIaf6c4ãb/161979921ïŒConstraints ãã€ã³ã©ã€ã³ ã¯ã©ã¹ã«ãªããŸãããïŒI88736ïŒ
äžè¬çãªãã©ãŒã«ã¹ ããžãã¯ã AndroidComposeView ããç§»åããã FocusManager ã远å ããŸãããïŒI528efãb/161487952ãb/162206799ïŒ
ã¢ã«ãã¡çãªãªãŒã¹ã® PointerEventPass ã®ååãæŽæ°ããŸãããïŒIfda6fïŒ
IntOffset ãã€ã³ã©ã€ã³ ã¯ã©ã¹ã«ãªããŸãããïŒIac0bfïŒ
IntSize ãã€ã³ã©ã€ã³ ã¯ã©ã¹ã«ãªããŸãããïŒI2bf42ïŒ
PlacementScope.placeAbsolute()
ã®ååãPlacementScope.place()
ã«å€æŽããã以åã®PlacementScope.place()
ã®ååãPlacementScope.placeRelative()
ã«å€æŽãããŸããããã®çµæãPlacementScope.place()
ã¡ãœããã¯ãå³ããå·ŠïŒRTLïŒãžã®ã³ã³ããã¹ãã§ãèªåçã«äœçœ®ããã©ãŒãªã³ã°ããªããªããŸããå¿ èŠãªå Žåã¯ã代ããã«PlacementScope.placeRelative()
ã䜿çšããŠãã ãããïŒI873acãb/162916675ïŒAlertDialog ã¯ãã¿ã³ã« FlowRow ã䜿çšããããã«ãªããŸãããïŒI00ec1ãb/161809319ãb/143682374ïŒ
äžéšã®ãã¹ã ãŠãŒãã£ãªãã£ã¯ãæå±ããŠããå Žæã«ãªããããéå ¬éã«ãªããŸãããä»åŸäžè¬å ¬éãããäºå®ã§ããïŒI32ab1ïŒ
ãã€ã³ã¿å ¥åã³ãŒãã®ç·šæããªãã¡ã¯ã¿ãªã³ã°ããŸãããïŒIe3f45ïŒ
PxBounds ãéæšå¥šã«ãªããRect ã«çœ®ãæããããŸãããPxBounds ã®ãã¹ãŠã®äœ¿çšãæŽæ°ã㊠Rect ã«çœ®ãæããç§»è¡ã«åœ¹ç«ã€é©åãªéæšå¥šããã³ã¢ãããŒã·ã§ã³ãžã®çœ®ãæãã远å ããŸãããïŒI37038ãb/162627058ïŒ
éæšå¥šã® KeyEvent2 ãåé€ããŸããã代ããã« KeyEvent ã䜿çšããŠãã ãããïŒIed2d0ãb/162097587ïŒ
KeyEvent ã« unicode ããããã£ã远å ãããŸããããã®ããããã£ã䜿çšãããšãæå®ããããŒãšã¡ã¿ããŒã®ç¶æ ã®çµã¿åããã«ããçæããã Unicode æåãååŸã§ããŸããïŒIf3afcïŒ
DelayUp ã«ã¹ã¿ã ã€ãã³ããšé¢é£ã¯ã©ã¹ã¯ã倿Žãããå¯èœæ§ãé«ãããããªããã€ã³ API ã«ãªããŸãããïŒI56d6fïŒ
äžèŠã«ãªã£ã 2 ã€ã® PointerEventPass ãåé€ãããŸãããïŒI3dd9dïŒ
Paragraph.paint ã«ãã©ã¡ãŒã¿ colorãshadowãTextDecoration ã远å ããŸããããã®é¢æ°ã䜿çšãããšãäžèŠãª Paragraph ã®åäœæãåé¿ã§ããŸããïŒI81689ïŒ
ãã°ã®ä¿®æ£
- TextField ãã onFocusChanged ã³ãŒã«ããã¯ãåé€ããŸããã代ããã« Modifier.focusObserver ã䜿çšããŠãã ãããïŒI51089ãb/161297615ïŒ
- Modifier.drawBorder ãéæšå¥šã«ãªããŸããã代ããã« Modifier.border ã䜿çšããŠãã ãããBorder ããŒã¿ã¯ã©ã¹ã¯ BorderStroke ã«çœ®ãæããããŸãããïŒI4257dãb/158160576ïŒ
éæšå¥šãšãªã£ã FrameManager ã®åŒã³åºããåé€ããŸããã
å éšã³ã³ããŒãº API ã倿Žããã
mutableStateof()
ãªã©ã®ç¶æ ãªããžã§ã¯ãã远跡ãããªãŒããŒããããæžããŸãããïŒI80ba6ïŒVerticalScroller ãš HorizontalScroller ãåé€ãããŸããã代ããã«ãScrollableColumn/Row ã䜿çšããŠãã ãããModifier.drawBackground ãåé€ããŸãããModifier.background ã䜿çšããŠãã ãããïŒI73b0dãb/163019183ïŒ
ç¶æ ãä¿åããäœãã for ã«ãŒãå ã§äœ¿çšããããšãã«ã¯ã©ãã·ã¥ããåé¡ãä¿®æ£ãããŸãããsavedInstanceState() ã§åãããŒã䜿çšã§ããããã«ãªããããã«åãã㊠UiSavedStateRegistry ã® API ã調æŽãããŸãããïŒI4ab76ãb/160042650ãb/156853976ãb/159026663ãb/154920561ïŒ
æç¢ºåã®ããã
state { ... }
composable ãéæšå¥šã«ããremember { mutableStateOf(...) }
ã®æç€ºçãªåŒã³åºãã«çœ®ãæããŸãããããã«ãããç¶æ 管çã® API ãµãŒãã§ã¹å šè¬ãšã³ã³ã»ããã®æ°ãçž®å°ãããã¯ã©ã¹ ããããã£å§ä»»ã®by mutableStateOf()
ãã¿ãŒã³ãšäžèŽããããã«ãªããŸããïŒIa5727ïŒcompose ã®åœåãã¿ãŒã³ã«åãã㊠RRect ã RoundRect ã«ååã倿ŽããŸãããRRect ã«é¡äŒŒãã颿°ã³ã³ã¹ãã©ã¯ã¿ãäœæããRRect 颿°ã³ã³ã¹ãã©ã¯ã¿ãéæšå¥šã«ããŸãããïŒI5d325ïŒ
ããŒãžã§ã³ 0.1.0-dev16
2020 幎 8 æ 5 æ¥
androidx.compose.ui:ui-*:0.1.0-dev16
ããªãªãŒã¹ãããŸãããããŒãžã§ã³ 0.1.0-dev16 ã«å«ãŸãã commit ã«ã€ããŠã¯ããã¡ããã芧ãã ããã
API ã®å€æŽ
- OnChildPositioned ãéæšå¥šã«ãªããŸããã代ããã«ãOnPositioned ãåã§äœ¿çšããŠãã ãããïŒI87f95ãb/162109766ïŒ
- setViewContent ãéæšå¥šã«ãªããŸããã代ããã« setContent ã䜿çšããŠãã ãããïŒI7e497ãb/160335130ïŒ
- ViewBinding ã«åºã¥ããŠã¬ã€ã¢ãŠã ãªãœãŒã¹ãã€ã³ãã¬ãŒããã³ã³ããŒãºããããã® AndroidViewBinding API ã远å ããŸãããïŒI081c6ïŒ
- KeyEvent2 ã KeyEvent ã«çœ®ãæããããŸãããïŒI2d770ãb/162097585ïŒ
- Alt ããŒããŠã§ã¢ ããŒã®ãµããŒãã远å ããŸãããïŒI9036bïŒ
- FocusManager ãéæšå¥šã«ãªããŸããã代ããã« Modifier.focus()ãModifier.focusObserver()ãModifier.focusRequester() ã䜿çšããŠãã ãããïŒI74ae4ãb/162211322ïŒ
- loadVectorResource 㯠trimPath 屿§ããµããŒãããŸããïŒI808feïŒ
- ãã€ã¢ãã°ã UI ã«ç§»åããŸãããïŒI47fa6ïŒ
- äžèŠã«ãªã£ã 2 ã€ã® PointerEventPass ãåé€ãããŸãããïŒI33ca7ïŒ
- PointerInteropModifier ãå®è£ ããŸããããã®æ©èœã䜿çšãããšãMotionEvents ãåãåããAndroid View ãå®è£ ããŠãããã®ããã« Compose ãšããåãã§ããããã«ãªããŸããïŒIeb08cïŒ
- éæšå¥šã®ã¿ã°ä¿®é£Ÿåãåé€ããŸããã代ããã« layoutId ã䜿çšããŠãã ãããïŒIdaa05ãb/162023919ïŒ
- å³ããå·ŠïŒRTLïŒããµããŒããã API ãæŽæ°ãããŸãããã¬ã€ã¢ãŠãæ¹åã®èªã¿åããšå€æŽã«äœ¿çšã§ãã LayoutDirectionAmbient ã远å ãããŸãããModifier.rtl ãš Modifier.ltr ãåé€ãããŸãããïŒI080b3ïŒ
- ãã¯ã¿ãŒ ã°ã©ãã£ãã¯ã§ã®ãã¹ã®ããªãã³ã°ããµããŒãããŸããïŒIe16c9ãb/158188351ïŒ
- å¿ èŠã«å¿ããŠã«ã¹ã¿ã ã¬ã€ã¢ãŠã修食åãäœæã§ãã Modifier.layout() ã远å ããŸãããïŒI73b69ãb/161355194ïŒ
- æ°ãã AndroidView API ã远å ããæ¢åã® API ãéæšå¥šã«ããŸãããïŒI5bcfdïŒ
- Modifier.plus ãéæšå¥šã«ãªããŸããã代ããã« Modifier.then ã䜿çšããŠãã ãããthen ã«ãããé åºãæç¢ºåããã
Modifier.padding().background() + anotherModifier
ãšæžããŠãã§ãŒã³ãåæãå¯èªæ§ãäžããããšã鲿¢ãããŸããïŒIedd58ãb/161529964ïŒ - View éå±€å ã§ Compose ã³ã³ãã³ãããã¹ãããããã® [Abstract]ComposeView View ãµãã¯ã©ã¹ã远å ããŸãããïŒI46357ïŒ
Row
ãšColumn
ãã€ã³ã©ã€ã³é¢æ°ã«ããŸãããããã«ããã䜿çšããéã®ãªãŒããŒããããå€§å¹ ã«åæžãããŸããïŒI75c10ïŒ- SubcomposeLayout ã远å ããŸãããããã¯ã枬å®äžã«åŸã«ãªããªããšäœ¿çšã§ããªãå€ã䜿çšããŠãµãããªãŒãã³ã³ããŒãºããå Žåã«ãåãã³ã³ããŒãºã§ããããã«ããäœã¬ãã« ããªããã£ãã§ããããšãã°ãWithConstraints 㯠SubcomposeLayout ã䜿çšããã«å®è£ ãããŠããŸããïŒI25cc8ïŒ
- Compose éå±€ã®ã«ãŒããåºæºãšãã SemanticsNode ã®çžå¯Ÿäœçœ®ãååŸãã
SemanticsNode.positionInRoot
ã远å ããŸãããïŒIcdf26ãb/161336532ïŒ - MotionEvents ã¯ãAndroid ãã Compose ã«æž¡ãããŠãAndroid ã«åã³è¿ãããããã«ãªããŸãããïŒI14be8ãb/158034713ïŒ
- dropdownPopup ãåé€ããŸãããïŒI00430ïŒ
- ã«ããã¢ãŠã ãã£ã¹ãã¬ã€ã«ããããããã¢ããäœçœ®ãä¿®æ£ããŸãããïŒIdd7ddïŒ
- TextLayoutResult ãååŸãããŠãŒã¶ãŒè£å©ã¢ã¯ã·ã§ã³ã远å ããŸãããïŒI9d6e6ïŒ
- RemeasurementModifier ã远å ããŸãããã¬ã€ã¢ãŠããåæçã«å枬å®ã§ããããã«ãªããŸããéåžžãåæž¬å® / åã¬ã€ã¢ãŠãã¯èªåçã«è¡ãããããããã®æ©èœã¯å¿ èŠã§ã¯ãããŸããããã¹ã¯ããŒã«äžã« LazyColumnItems å ã§äœ¿çšã§ããŸããïŒI5f331ãb/160791058ïŒ
- getLineEllipsisOffset / getLineEllipsisCount ãåé€ããŸããã代ããã« getLineVisibleEnd / getLineEnd / isLineEllipsized ã䜿çšããŠãã ãããïŒI85aa2ïŒ
- æšå¥šããæ¹æ³ã瀺ãããã«ããŒã¯ãšã¢ãããŒã·ã§ã³ã远å ããŸãããïŒI66b20ïŒ
- TextLayoutResult ã§ããå€ãã®è¡ã® API ãå ¬éãããŸããïŒI79bd2ïŒ
- çµã¿èŸŒã¿ã®åäœã倿ããããã®çµã¿èŸŒã¿ã®ãã¯ã¿ãŒ ã³ã³ããŒã¿ãŒã« Foo.VectorConverter ãä»ããŠã¢ã¯ã»ã¹ã§ããããã«ãªããŸãããäŸ: Dp.VectorConverterãColor.VectorConverterãFloat.VectorConverter ãªã©ãïŒI3e273ïŒ
ãã°ã®ä¿®æ£
- åºç¯ãª API ã®ä¿®æ£ã«å¯Ÿå¿ããŸãããïŒI077bcïŒ
- æªäœ¿çšã® OffsetBase ã€ã³ã¿ãŒãã§ãŒã¹ãåé€ããŸããã
- äžè²«æ§ã®ãã API ãµãŒãã§ã¹ãæã€ããã« Offset ã¯ã©ã¹ãš IntOffset ã¯ã©ã¹ã調æŽããŸããã
- Offset API ã«åãããŠãIntOffset.Origin ã IntOffset.Zero ã«åå倿ŽããŸããã
- ãŠãŒã¶ãŒãç¬èªã® Canvas ã€ã³ã¹ã¿ã³ã¹ãäœæã§ããããã«ãCanvas ã€ã³ã¿ãŒãã§ãŒã¹ãã nativeCanvas ã¡ãœãããåé€ããŸããã
- lateinit ã®ä»£ããã«é null ãã©ã¡ãŒã¿ãšãªãããã£ãŒã«ãã®é null å¯èœæ§ã確ä¿ãããããã« DrawScope ããªãã¡ã¯ã¿ãªã³ã°ãããããã¹ã¿ã EmptyCanvas ã¯ã©ã¹ãäœæããŸããã
- ClipOp åæåã®ååããã¹ã«ã«ã±ãŒã¹ã«å€æŽããŸããã
- FilterQuality åæåã®ååããã¹ã«ã«ã±ãŒã¹ã«å€æŽããŸããã
- StrokeJoin åæåã®ååããã¹ã«ã«ã±ãŒã¹ã«å€æŽããŸããã
- PointMode åæåã®ååããã¹ã«ã«ã±ãŒã¹ã«å€æŽããŸããã
- PaintingStyle åæåã®ååããã¹ã«ã«ã±ãŒã¹ã«å€æŽããŸããã
- PathFillType åæåã®ååããã¹ã«ã«ã±ãŒã¹ã«å€æŽããŸããã
- StrokeCap åæåã®ååããã¹ã«ã«ã±ãŒã¹ã«å€æŽããŸããã
- DrawCache ã®å®è£ ãæŽæ°ãããlateinit ãã©ã¡ãŒã¿ã䜿çšããªããªããŸããã
- DrawScope ãæŽæ°ãããfillPaint ããã³ strokePaint å éšãã©ã¡ãŒã¿ã®é å»¶å§ä»»ã䜿çšããªããªããŸããã
- ãªãŒããŒããããåæžãããããBox ã®äœ¿çšãåé¿ããããã« Image composable ãæŽæ°ããŸããã
- Outline ã¯ã©ã¹ãæŽæ°ã㊠@Immutable ã¢ãããŒã·ã§ã³ã远å ããŸããã
- PathNode ãæŽæ°ããŠãåãã¹æé ã« @Immutable ã¢ãããŒã·ã§ã³ã远å ããŸããã
- Vector ãµãã³ã³ããžã·ã§ã³ãæŽæ°ããç䟡æ§ã«é¢ããåé·ãªæ¡ä»¶ä»ããã§ãã¯ãåé€ããŸãããCompose ã¯ãã§ã«ãã®åŠçã«å¯Ÿå¿ããŠããããã§ãã
- Rect ã³ã³ãããªã³ ã³ã³ã¹ãã©ã¯ã¿ ã¡ãœãããéæšå¥šã«ãªãã颿°ã³ã³ã¹ãã©ã¯ã¿ã«çœ®ãæããããŸããã
- Brush ã®ã¯ã©ã¹ãšé¢æ°ã³ã³ã¹ãã©ã¯ã¿ã @Immutable ããã³ @Stable API ã§æŽæ°ããŸããã
- PascalCase ãšãªãããã« VertexMode åæåãæŽæ°ããŸããã
- DrawScope selectPaint ã¡ãœãããæŽæ°ãããã€ã³ãã§ã¹ãããŒã¯ ãã©ã¡ãŒã¿ã倿ŽãããŠããå Žåã¯ãæ¡ä»¶ä»ãã§äžæžãã§ããããã«ããŸããã
- Size ãæŽæ°ã㊠API ã®åè§£ã远å ããUnspecifiedSize ã Unspecified ã«åå倿ŽããŠãæªäœ¿çšã®ã¡ãœãããåé€ããŸããã
- API ã¬ãã«ã«å¿ã㊠Android ãã¬ãŒã ã¯ãŒã¯ã® BlendMode ãš PorterDuff ã¢ãŒããé©åã«ãããã³ã°ããããã« Compose BlendMode API ã®äœ¿ç𿹿³ãæŽæ°ããŸãããBlendMode#isSupported API ãå°å ¥ããŸããããã® API ã¯å¯èœæ§ã¯ãšãªãšããŠæ©èœãã䜿çšããåã«ããã€ã¹ã§ BlendMode ããµããŒããããŠãããã©ããã倿ã§ããŸããïŒI0ef42ïŒ
- Lazy ãªã¹ãã® itemContent ãã©ã¡ãŒã¿ãšã㊠LazyItemScope ã远å ãããŸãããããã«ãããèŠªã®æå€§ãµã€ãºãå¡ãã€ã¶ãããã®ä¿®é£ŸåãæäŸãããŸããã¢ã€ãã ã§ãã¥ãŒããŒããå¡ãã€ã¶ãå¿ èŠãããããã¢ã€ãã ãå¶çŽãªãã§æž¬å®ãããããéåžžã® Modifier.fillMaxSize() ãæ©èœããªãäºäŸã解決ã§ããŸããïŒIbd3b2ãb/162248854ïŒ
SemanticsNodeInteraction.performPartialGesture
ãåé€ããŸããã代ããã«SemanticsNodeInteraction.performGesture
ã䜿çšããŠãã ããïŒId9b62ïŒLazyColumnItems
ã®ååãLazyColumnFor
ã«å€æŽãããŸãããLazyRowItems
ã®ååãLazyRowFor
ã«å€æŽãããŸãããïŒI84f84ïŒfoundation.shape.corner
ããã±ãŒãžãfoundation.share
ã«ãã©ããåãããŸãããïŒI46491ãb/161887429ïŒAndroidComposeTestRule
ã®ååãcreateAndroidComposeRule
ã«å€æŽããŸãããïŒI70aafïŒTextLayoutResult
ã«ããã« API ã远å ããŸãããïŒId7e04ïŒ- material ã®
FilledTextField
ãTextField
ã«ãfoundation ã®TextField
ãBaseTextField
ã«åå倿Žããããããæãã·ã³ãã«ã§æãŸãã API ãç°¡åã«èŠã€ããŠäœ¿çšã§ããããã«ãªããŸãããïŒIa6242ãb/155482676ïŒ - Modifier.drawBackground ã®ååã Modifier.background ã«å€æŽãããŸãããïŒI13677ïŒ
ããŒãžã§ã³ 0.1.0-dev15
2020 幎 7 æ 22 æ¥
androidx.compose.ui:ui-*:0.1.0-dev15
ããªãªãŒã¹ãããŸãããããŒãžã§ã³ 0.1.0-dev15 ã«å«ãŸãã commit ã«ã€ããŠã¯ããã¡ããã芧ãã ããã
äŸåé¢ä¿ã®æŽæ°
0.1.0-dev15
ããŒãžã§ã³ã® Compose ã䜿çšããã«ã¯ãäžèšã®äŸåé¢ä¿ã®å®£èšã§ç€ºãããŠããæ°ããã³ãŒã ã¹ããããã«åŸã£ãŠãäŸåé¢ä¿ãæŽæ°ããå¿ èŠããããŸãã
API ã®å€æŽ
- FocusModifier ãéæšå¥šã«ãªããModifier.focusãModifier.focusRequesterãModifier.focusObserver ã«çœ®ãæããããŸãããFocusState ãš FocusDetailedState ãéæšå¥šã«ãªããFocusState2 ã«çœ®ãæããããŸãããïŒI46919ãb/160822875ãb/160922136ïŒ
- ãã©ãŒã«ã¹ç¶æ ã®å€åãç£èŠããããã®ä¿®é£Ÿåã远å ããŸãããïŒI05866ãb/160924455ãb/160923326ïŒ
- ãã©ãŒã«ã¹ã®å€æŽããªã¯ãšã¹ãããããã®ä¿®é£Ÿåã远å ããŸãããïŒI8dd73ãb/161182057ãb/160924778ïŒ
- ããŒã«ã㌠ã¡ãã¥ãŒã調æŽããŠãã³ããŒãåãåãã貌ãä»ããé©åã«è¡šç€ºãããããã«ããŸãããïŒId3955ïŒ
- åäžå€ã®ã»ãã³ãã£ã¯ã¹ ããããã£ã§åŒã³åºãã¹ã¿ã€ã«ã䜿çšãããããã«ãªããŸãããããšãã°ããsemantics { hidden = true }ãã¯ãçŸåšã¯
semantics { hidden() }
ãšããŠèšè¿°ãããŸããïŒIc1afdãb/145951226ãb/145955412ïŒ - FocusModifier ã«ä»£ã㊠Modifier.focus ã远å ããŸãããïŒIb852aãb/160924778ïŒ
- TextField ã®éžæçšã« FloatingToolbar ã远å ããŸãããïŒIe8b07ïŒ
- ããŒå ¥åé¢é£ API ã«è©Šéšéçšç API ã¢ãããŒã·ã§ã³ã远å ããŸãããïŒI53c0aïŒ
- ãã¹ãŠã®ãã©ãŒã«ã¹é¢é£ã® API ã«è©Šéšéçšç API ã¢ãããŒã·ã§ã³ã远å ããŸãããïŒI53b24ãb/160903352ïŒ
- FocusDetailedState ã«ä»£ãããã®ãšã㊠FocusState2 ã远å ããŸãããïŒI0a3baãb/160822595ïŒ
- Focus API çšã® @OptIn ã¢ãããŒã·ã§ã³ã§ãã ExperimentalFocus ã远å ããŸãããïŒI1544bãb/160820961ïŒ
- ã¬ã€ã¢ãŠãããã®æŽæ°ãã¯ã»ã«å¢çã衚ã IntBounds ãŠãããã¯ã©ã¹ã远å ãããŸãããPopupPositionProvider ã® API ãæŽæ°ãããããã䜿çšããããã«ãªããŸãããïŒI0d8d0ãb/159596546ïŒ
- Applier ã«ã¯ãã³ã³ããžã·ã§ã³ãç Žæ£ããããã® clear() ã¡ãœãããå¿ èŠã«ãªããŸãããïŒIbe697ïŒ
- KeyEvent ãéæšå¥šã«ãªããKeyEvent2 ã«çœ®ãæããããŸãããïŒI68730ïŒ
- æ°ãããªãã·ã§ã³ã®ãã©ã° useUnmergedTree ããã¹ã ãã¡ã€ã³ããŒã«è¿œå ãããŸãããïŒI2ce48ïŒ
- LayoutNode API ã詊éšéçšçã«ãªããŸãããïŒI4f2e9ïŒ
以äžã®ããŸããŸãªã€ã³ã©ã€ã³ ã¯ã©ã¹ã¿ã€ãã«ã³ããŒã¡ãœããã远å ããŸããã
- Offset
- Size
- Radius
- Motion
TransformOrigin
Size.copy ã³ã³ãããªã³ ãªããžã§ã¯ã ã¡ãœãããéæšå¥šã«ãªããã€ã³ã¹ã¿ã³ã¹ ã³ããŒã¡ãœããã«çœ®ãæããŸãããïŒIfe290ãb/159905651ïŒ
ãããã¢ããããã€ã¢ãã°ãã¡ãã¥ãŒãã³ã³ããã¹ãã«å¿ãã MaterialTheme ãç¶æ¿ããããã«ãªããŸãããïŒIa3665ãb/156527485ïŒ
TextDirection ã®ååã ResolvedTextDirection ã«å€æŽãããŸãããïŒI3ff38ïŒ
Layout() 颿°ã®æž¬å®ãããã¯ããã¬ã€ã¢ãŠãæ¹åã®ãã©ã¡ãŒã¿ãåé€ããŸããããã ããæž¬å®ã¹ã³ãŒã ãªããžã§ã¯ããä»ããŠã³ãŒã«ããã¯å ã§ã¬ã€ã¢ãŠãæ¹åã䜿çšã§ããŸããïŒIc7d9dïŒ
åå©çšãããããSelectionHandles ããªãã¡ã¯ã¿ãªã³ã°ããŸãããïŒI420e0ïŒ
Clickable ãåé€ãããŸãããModifier.clickable ã䜿çšããŠãã ãããïŒI84bdfïŒ
TestTag ãš Semantics ãåé€ãããŸããã代ããã« Modifier.testTag ãš Modifier.semantics ã䜿çšããŠãã ãããïŒI15ff0ãb/158841414ïŒ
ãã®å€æŽãè¡ãããåãcompose ã³ã³ãã€ã© ãã©ã°ã€ã³ã¯ãã¹ã³ãŒãå ã®è§£æ±ºããããcomposerãã«ãemit æŒç®åãã¡ãœãããèŠã€ãã£ãå Žåã@Composable 颿°å ã®ã³ã³ã¹ãã©ã¯ã¿ã®åŒã³åºãã«å¯ŸããŠèªæã§ãªãã€ã³ã¿ãŒã»ãããå®è¡ããŠããŸãããïŒI5205aãb/158123804ïŒ
Modifier.testTag ãšã®æ··åãé¿ãããããModifier.tag ã®ååã Modifier.layoutId ã«å€æŽãããŸãããïŒI995f0ïŒ
Placeable#get(AlignmentLine) ããè¿ãããã¢ã©ã€ã¡ã³ã ã©ã€ã³ã® Int äœçœ®ãé null ã«ãªããŸãããã¯ãšãªãããã¢ã©ã€ã¡ã³ã ã©ã€ã³ãèŠã€ãããªãã£ãå Žåã¯ãAlignmentLine.Unspecified ãè¿ãããŸããïŒI896c5ãb/158134875ïŒ
AndroidView composable ã«ä¿®é£Ÿåãã©ã¡ãŒã¿ã远å ãããŸãããïŒI48a88ãb/158746303ïŒ
Semantics() ãéæšå¥šã«ãªããŸããã代ããã« Modifier.semantics() ã䜿çšããŠãã ãããïŒI72407ãb/158841414ïŒ
viewModel() composable ã远å ããŸãããããã«ãããã¢ã¯ãã£ããã£å ãŸãã¯ãã©ã°ã¡ã³ãå ãšåæ§ã«ãViewModel ã®äœæããäœææžã¿ ViewModel ã®ååŸãè¡ãããšãã§ããŸããïŒI5fdd1ïŒ
IntPx ã®äœ¿çšã Int ã«çœ®ãæããŸãããIntPxPosition ã IntOffset ã«çœ®ãæããŸãããIntPxSize ã IntSize ã«çœ®ãæããŸãããïŒIb7b44ïŒ
ãµã€ãºèšå®æ å ±ã瀺ãéã«äœ¿çšããã¯ã©ã¹ã®æ°ãæŽççµ±åãããããPxSize ã§ã¯ãªã Size ã¯ã©ã¹ã®äœ¿çšãæšæºåããŸãããããã«ãããã€ã³ã©ã€ã³ ã¯ã©ã¹ã¯ long å€ãå©çšããŠãfloat å€ã§è¡šãããå¹ ãšé«ãã瀺ã 2 ã€ã® float å€ãããã¯ã§ããããã«ãªããŸããïŒIc0191ïŒ
äœçœ®æ å ±ã瀺ãéã«äœ¿çšããã¯ã©ã¹ã®æ°ãæŽççµ±åãããããPxPosition ã§ã¯ãªã Offset ã¯ã©ã¹ã®äœ¿çšãæšæºåããŸãããããã«ãããã€ã³ã©ã€ã³ ã¯ã©ã¹ã¯ long å€ãå©çšããŠãfloat å€ã§è¡šããã x ãªãã»ãããš y ãªãã»ããã瀺ã 2 ã€ã® float å€ãããã¯ã§ããããã«ãªããŸããïŒI3ad98ïŒ
ãã¯ã»ã« ãã©ã¡ãŒã¿ã«é¢ã㊠Dp ãšããªããã£ãåã ãã«äŸåããããã«å€§èŠæš¡ãªãªãã¡ã¯ã¿ãªã³ã°ãè¡ãäžç°ãšããŠãå皮㮠compose ã¯ã©ã¹å ã§ Px ã¯ã©ã¹ã䜿çšããªãããã«å€æŽããŸãããPx ã¯ã©ã¹å šäœãåé€ãããŠããŸããïŒI3ff33ïŒ
ãã¯ã»ã« ãã©ã¡ãŒã¿ã«é¢ã㊠Dp ãšããªããã£ãåã ãã«äŸåããããã«å€§èŠæš¡ãªãªãã¡ã¯ã¿ãªã³ã°ãè¡ãäžç°ãšããŠãå皮㮠compose ã¯ã©ã¹å ã§ Px ã¯ã©ã¹ã䜿çšããªãããã«å€æŽããŸãããïŒI086f4ïŒ
ãã¯ã»ã« ãã©ã¡ãŒã¿ã«é¢ã㊠Dp ãšããªããã£ãåã ãã«äŸåããããã«å€§èŠæš¡ãªãªãã¡ã¯ã¿ãªã³ã°ãè¡ãäžç°ãšããŠãå皮㮠compose ã¯ã©ã¹å ã§ Px ã¯ã©ã¹ã䜿çšããªãããã«å€æŽããŸãããïŒId3434ïŒ
ãã¯ã»ã« ãã©ã¡ãŒã¿ã«é¢ã㊠Dp ãšããªããã£ãåã ãã«äŸåããããã«å€§èŠæš¡ãªãªãã¡ã¯ã¿ãªã³ã°ãè¡ãäžç°ãšããŠãå皮㮠compose ã¯ã©ã¹å ã§ Px ã¯ã©ã¹ã䜿çšããªãããã«å€æŽããŸãããïŒI97a5aïŒ
TestTag ãéæšå¥šã«ãªããŸããã代ããã« Modifier.testTag ã䜿çšããŠãã ãããïŒIf5110ãb/157173105ïŒ
ParentDataModifier#modifyParentData ã®ããã©ã«ãã® no-op å®è£ ãåé€ãããŸãããããã¯ãããããã€ã³ã¿ãŒãã§ãŒã¹ãå®è£ ããªãã®ãšåãã§ãããïŒI0deaaïŒ
以åã«éæšå¥šã«ãªã£ã ScaleFit ãåé€ãããŸããã代ããã« ContentScale ã䜿çšããŠãã ãããïŒIfbc5bïŒ
ãã¯ã»ã« ãã©ã¡ãŒã¿ã«é¢ã㊠Dp ãšããªããã£ãåã ãã«äŸåããããã«å€§èŠæš¡ãªãªãã¡ã¯ã¿ãªã³ã°ãè¡ãäžç°ãšããŠãå皮㮠compose ã¯ã©ã¹å ã§ Px ã¯ã©ã¹ã䜿çšããªãããã«å€æŽããŸãããïŒI19d02ïŒ
ãããªã¢ã« ãã¶ã€ã³ ã¡ãã¥ãŒã®å®è£ ã§ãã ui-material ã« DropdownMenu ã³ã³ããŒãã³ãã远å ããŸãããïŒI9bb3dïŒ
éæšå¥šãšãªã£ã LayoutTag() ãåé€ããŸããã代ããã« Modifier.tag() ã䜿çšããŠãã ãããéæšå¥šãšãªã£ã Modifier.matchParent() ãåé€ããŸããã代ããã« Modifier.matchParentSize() ã䜿çšããŠãã ãããïŒIf8044ïŒ
ãã¯ã»ã« ãã©ã¡ãŒã¿ã«é¢ã㊠Dp ãšããªããã£ãåã ãã«äŸåããããã«å€§èŠæš¡ãªãªãã¡ã¯ã¿ãªã³ã°ãè¡ãäžç°ãšããŠãå皮㮠compose ã¯ã©ã¹å ã§ Px ã¯ã©ã¹ã䜿çšããªãããã«å€æŽããŸãããïŒI57bffïŒ
Modifier.semantics ã®éæšå¥šãè§£é€ãããé«ã¬ãã«ã®ã³ã³ããŒãã³ãã§ã®äœ¿çšãå¯èœã«ãªããŸãããïŒI4cfdcïŒ
CanvasScope ã®å®è£ ãæŽççµ±åããDrawScope ãš ContentDrawScope ã®ã¿ãšããŸãããCanvasScope ã®ååã DrawScope ã«å€æŽããŸãããDrawScope ãæŽæ°ã㊠Density ã€ã³ã¿ãŒãã§ãŒã¹ãå®è£ ããLayoutDirection ãæäŸããŸãããContentDrawScope ã® DrawScope ãµãã¯ã©ã¹ãåé€ããŸãããPainter ãš PainterModifier ãæŽæ°ãããRTL ããããã£ãèªèº«ã§ç¶æããªããªããŸããããã㯠DrawScope ã§ãã§ã«æäŸãããŠãããããæåã§æäŸããå¿ èŠã¯ãããŸãããïŒI1798eïŒ
DoubleTapGestureFilter ã«ãããããªãŒå šäœã§ SingleTapGestureFilter ã®ææ§ããè§£æ¶ãããŸãããïŒIf92b1ïŒ
Alignment API ãæŽæ°ãã絶察ã¢ã©ã€ã¡ã³ãïŒRTL ã³ã³ããã¹ãã§èªåãã©ãŒãªã³ã°ãè¡ããªãïŒã®ãµããŒãã远å ããŸãããïŒI38cd3ïŒ
DrawLayer 修食å API ã倿ŽãããŸãããoutlineShape ã®ååã shape ã«å€æŽãããRectangleShape ã®ããã©ã«ãå€ãæã€ããã«ãªããnull å€é蚱容åã«ãªããŸãããclipToOutline ã®ååã clip ã«å€æŽãããŸãããclipToBounds ã¯ãRectangleShape ã§ clip == true ãèšå®ããã®ãšåãã§ãããããåé€ãããŸãããïŒI7ef11ãb/155075735ïŒ
ãã£ã³ãã¹ãå ¬éãããã€ã¬ãã«ã® Compose API ãæŽæ°ããŠã代ããã« CanvasScope ãå ¬éããããã«ããŸãããããã«ããããŠãŒã¶ãŒãç¬èªã® Paint ãªããžã§ã¯ããç¶æç®¡çããå¿ èŠããªããªããŸããåŒãç¶ããã£ã³ãã¹ã®å©çšãå¿ èŠãªãŠãŒã¶ãŒã¯ãdrawCanvas æ¡åŒµã¡ãœããã䜿çšã§ããŸãããã®ã¡ãœããã«ããã察象ã®ãã£ã³ãã¹ã«å¯Ÿã㊠Draw ã³ãã³ããå®è¡ããã³ãŒã«ããã¯ãè¡ãããŸããïŒI80afdïŒ
WithConstraints åŸçœ®ã©ã ã API ã倿ŽãããŸããã2 ã€ã®ãã©ã¡ãŒã¿ã«ä»£ãã£ãŠã¬ã·ãŒã ã¹ã³ãŒããèšããããconstraints ãš layoutDirection ã«å ããŠãDp åäœã§æå®ãã minWidthãmaxWidthãminHeightãmaxHeight ããããã£ãçšæãããŸãããïŒI91b9aãb/149979702ïŒ
LayoutModifier2 ã®ååã LayoutModifier ã«å€æŽãããŸãããïŒId29f3ïŒ
éæšå¥šã® LayoutModifier ã€ã³ã¿ãŒãã§ãŒã¹ãåé€ãããŸãããïŒI2a9d6ïŒ
Layout ãš LayoutModifier2 ã®çµã¿èŸŒã¿æž¬å®é¢æ°ã« IntrinsicMeasureScope ã¬ã·ãŒãã远å ããŸãããããã«ãããæé»çã«äŒæãããã¬ã€ã¢ãŠãæ¹åãæã€çµã¿èŸŒã¿ã¯ãšãª API ãæäŸãããŸããïŒId9945ïŒ
Layout ãš LayoutModifier ã®åãç°ãªãã¬ã€ã¢ãŠãæ¹åã§æž¬å®ã§ããããã«ãªããŸãããïŒIbd731ïŒ
åã芪ã¬ã€ã¢ãŠãå ã®åã®æç»é åºãå¶åŸ¡ãããããæ°ãã Modifier.zIndex() ã远å ãããŸãããDrawLayerModifier ã® elevation ããããã£ã¯ååã shadowElevation ã«å€æŽãããæç»é åºãå¶åŸ¡ããªããªããŸãããDrawShadow ã®ãã©ã¡ãŒã¿ã®é åºã倿Žãããæåã®ãã©ã¡ãŒã¿ã¯ elevationã2 çªç®ã®ãã©ã¡ãŒã¿ã¯ shapeïŒããã©ã«ã㯠RectangleShapeïŒã«ãªããŸãããïŒI20150ãb/152417501ïŒ
Owner ã® onSizeChange ãš onPositionChange ãåé€ããŸãããïŒI5c718ïŒ
Constraints2 ã远å ããŸãããããã¯ãIntPx ã§ã¯ãªã Int å¶çŽå€ã®ã¿ããµããŒããã Constraints ã®ã³ããŒã§ããä»åŸ IntPx ã¯åé€ããããã¹ãŠã®æŽæ°åã®å¶çŽã Android ã®ããã«ãã¯ã»ã«ãšèŠãªãããããã«ãªããŸãã
- ãŸããå°æ¥çã« IntPxSize ã«ä»£ãããã®ãšããŠãIntSize ã远å ããŸãããïŒI4b43aïŒ
Alignment ãä»»æã®å€ã§ã€ã³ã¹ã¿ã³ã¹åã§ããããã«ãªããŸããã1D Alignment ã远å ããŸãããïŒIa0c05ïŒ
alignToSiblings ã Placeable ã§ã¯ãªã Measured ãåãå ¥ããããã«ãªããŸãããïŒI5788dïŒ
ïŒI45f09ãb/152842521ïŒ
- ScaleFit ã®ååã ContentScale ã«å€æŽããŸããã
- ContentScale ã ui-graphics ãã ui-core ã¢ãžã¥ãŒã«ã«ç§»åããAlignment API ãšåãã¢ãžã¥ãŒã«ã§åäœããããã«ããŸããã
- FillMaxDimension ã®ååã Crop ã«å€æŽããŸããã
- FillMinDimension ã®ååã Fit ã«å€æŽããŸããã
- Fit ã®ååã Inside ã«å€æŽããŸããã
- ããã¯ãImageView.ScaleType ã®åçã®ãã®ã«åãããããã§ãã
- Crop ãš Alignment.Center ãçµã¿åããããš ImageView.ScaleType.CENTER_CROP ãšåãçµæãåŸãããFit ã Alignment.Center ãšãšãã«äœ¿çšãããš ImageView.ScaleType.FIT_CENTER ãšåãçµæãåŸãããInside ã Alignment.Center ãšãšãã«äœ¿çšãããš ImageView.ScaleType.CENTER_INSIDE ãšåãçµæãåŸãããããšã瀺ãããã¥ã¡ã³ãã远å ããŸããã
æç»ä¿®é£Ÿåã« RTL ãµããŒãã远å ããŸãããïŒI0aaf9ïŒ
XML ãã Android ãã¥ãŒãæ¡åŒµãã API ããªãªãŒã¹ãããŸããã詳现ã«ã€ããŠã¯ãViewInCompose ã®ãã¢ãã芧ãã ãããïŒI42916ïŒ
DrawModifier API ã®æ¹å:
- draw() ã®ã¬ã·ãŒã ã¹ã³ãŒãã ContentDrawScope ã«ããŸããã
- draw() ã®ãã©ã¡ãŒã¿ããã¹ãŠåé€ããŸããã
- DrawScope ã«ä»¥åã® CanvasScope ãšåãã€ã³ã¿ãŒãã§ãŒã¹ãèšå®ããŸããã
- ContentDrawScope ã« drawContent() ã¡ãœããã远å ããŸãããïŒIbacedãb/152919067ïŒ
LayoutCoordinates ã« positionInParent ãš boundsInParent ã远å ããŸãããïŒIcacddãb/152735784ïŒ
DrawLayerModifier ãš drawLayer() ã§ãclipToBounds ãš clipToOutline ã®ããã©ã«ãå€ã false ã«ãªããŸãããïŒI0eb8bãb/152810850ïŒ
LayoutResult ã®ååã MeasureResult ã«å€æŽããŸãããïŒId8c68ïŒ
ã¬ã€ã¢ãŠã修食åãå®çŸ©ããæ°ãã API ãšã㊠LayoutModifier2 ã远å ããLayoutModifier ãéæšå¥šã«ããŸãããïŒIf32acïŒ
修食åãšæŒç®åãå·¥å Žåºè·æã®æ¡åŒµæ©èœã«çœ®ãæããŸãããïŒI225e4ïŒ
ç¹å®ã®ã¬ã€ã€ã«å¯Ÿããæç»ã³ãã³ãã®è¡šç€ºãªã¹ãããªãã»ããã§ããããã«ãtranslationX/Y ããããã£ã远å ããŸãããããã¯ãã¢ãã¡ãŒã·ã§ã³ãã¿ããã€ãã³ãã«å¿çããŠã³ã³ãã³ããç§»åããå Žåã«äŸ¿å©ã§ããïŒI8641cïŒ
ã¬ã€ã€äžã®ç¹å®ã®ãã€ã³ããäžå¿ãšããå転ãšã¹ã±ãŒãªã³ã°ããµããŒããããããpivotX ãã©ã¡ãŒã¿ãš pivotY ãã©ã¡ãŒã¿ãã¬ã€ã€ API ã«è¿œå ããŸãããïŒIcf7c3ïŒ
ã³ã³ããŒãºå¯èœãªé¢æ° OnPositioned ããã³ OnChildPositioned ã«ä»£ããŠãOnPositionedModifier ãš OnChildPositionedModifier ã远å ããŸãããïŒI2ec8fïŒ
ã¬ã€ã¢ãŠãã« RenderNode ã远å ã§ãã修食å LayerModifier ã远å ããŸãããã¯ãªããã³ã°ãäžéæåºŠãå転ãã¹ã±ãŒãªã³ã°ãã·ã£ããŠãèšå®ã§ããŸããããã«ãããRepaintBoundary ã眮ãæããããŸããïŒI7100dãb/150774014ïŒ
ã¬ã€ã¢ãŠãã®æ¹åã芪ã¬ã€ã¢ãŠã ããŒãããåã¬ã€ã¢ãŠã ããŒãã«äŒããããã«ããŸãããã¬ã€ã¢ãŠãæ¹å修食åã远å ããŸãããïŒI3d955ïŒ
Stack ã³ã³ããŒãã³ããå³ããå·Šãžã®æ¹åæ§ããµããŒãããããã«ãªããŸãããïŒIc9e00ïŒ
Compose ã¬ã€ã¢ãŠãã§ã® RTL ã®åæãµããŒããïŒIa5519ïŒ
Density ãš DensityScope ã 1 ã€ã®ã€ã³ã¿ãŒãã§ãŒã¹ã«çµ±åãããŸãããambientDensity() ã§ã¯ãªããDensityAmbient.current ã䜿çšã§ããããã«ãªããŸãããwithDensityïŒdensityïŒã§ã¯ãªããwithïŒdensityïŒã ãã«ãªããŸãããïŒI11cb1ïŒ
LayoutCoordinates ã倿Žã㊠providedAlignmentLines ã Map ã§ã¯ãªã Set ã«ããLayoutCoordinates ãå€ãååŸããããã« get() æŒç®åãå®è£ ããããã«ããŸãããããã«ããã修食åããšã«æ°ããã³ã¬ã¯ã·ã§ã³ãäœæããªããŠããè€æ°ã®ä¿®é£Ÿåã§ 1 ã€ä»¥äžã®ãŸãšãŸã£ãå€ã倿Žããããšã容æã«ãªããŸããïŒI0245aïŒ
LayoutCoordinates ã«äœçœ®ããããã£ããªããªããŸãããLayoutModifierãå転ãã¹ã±ãŒãªã³ã°ãèæ ®ãããšãäœçœ®ããããã£ã¯åŠ¥åœã§ã¯ãããŸããã代ããã«ãããããããŒã¯ parentCoordinates ãš childToLocal() ã䜿çšããŠããã LayoutCoordinate ããå¥ã® LayoutCoordinate ãžã®å€æãèšç®ããå¿ èŠããããŸãã
LayoutCoordinates ã¯ããµã€ãº ããããã£ã« PxSize ã§ã¯ãªã IntPxSize ã䜿çšããŸããã¬ã€ã¢ãŠãã§ã¯æŽæ°ã®ãã¯ã»ã«ãµã€ãºã䜿çšããããããã¹ãŠã®ã¬ã€ã¢ãŠã ãµã€ãºã§æµ®åå°æ°ç¹å€ã§ã¯ãªãæŽæ°ã䜿çšããå¿ èŠããããŸããïŒI9367bïŒ
Constraints ã® API ãµãŒãã§ã¹ãæ¹åããŸãããïŒI0fd15ïŒ
Canvas ãªããžã§ã¯ããã©ããããŠã¹ããŒãã¬ã¹ã®å®£èšåæç» API ãµãŒãã§ã¹ãå ¬éãã CanvasScope API ãäœæããŸããã倿ã¯åºæã®ã¬ã·ãŒã ã¹ã³ãŒãå ã«å«ãŸããŸãããŸãããµã€ãºèšå®æ å ±ã®ã¹ã³ãŒãã¯å¯Ÿå¿ããã€ã³ã»ããå¢çã«èšå®ãããŸããæç»ãªãã¬ãŒã·ã§ã³ãæ§æããããã«ã³ã³ã·ã¥ãŒããç¬èªã® Paint ç¶æ ãªããžã§ã¯ããç¶æããå¿ èŠã¯ãããŸããã
- CanvasScopeSample ã远å ããŸããããŸãããã¢ã¢ããªãæŽæ°ããŠã宣èšåã°ã©ãã£ãã¯ã®ãã¢ã远å ããŸãããïŒIfd86dïŒ
æªäœ¿çšã® MaskFilterAPI ã¯ãäœ¿çšæ¹æ³ãéå®ãããŠãããã»ãšãã©ã®ãŠãŒã¹ã±ãŒã¹ã§ããŒããŠã§ã¢ ã¢ã¯ã»ã©ã¬ãŒã·ã§ã³çšã«æé©åãããŠããªããããåé€ãããŸãããïŒI54f76ïŒ
RectangleShape ã androidx.ui.foundation.shape.* ãã androidx.ui.graphics.* ã«ç§»åããŸãããïŒIa74d5ãb/154507984ïŒ
API å ã®ãã¹ãŠã® null å€èš±å®¹åã® Color ã null å€é蚱容åã«çœ®ãæããããnull ã®ä»£ããã« Color.Unset ã䜿çšãããããã«ãªããŸãããïŒIabaa7ïŒ
åºã«ãªã ImageAsset ã®ãµãã»ã¯ã·ã§ã³ã®æç»ããµããŒãããããããªãã·ã§ã³ã® rect ãã©ã¡ãŒã¿ã ImagePainter ã«è¿œå ããŸãããïŒI0ea9eïŒ
Unset Color ã远å ãããColor ãããã¯ã¹åããªããŠãæªèšå®ã®å€ã衚ããããã«ãªããŸãããïŒIf901aïŒ
Canvas.rotate æ¡åŒµã¡ãœãããš Canvas.scale æ¡åŒµã¡ãœããã远å ããã倿ã§ãªãã·ã§ã³ã®ãããã座æšã䜿çšã§ããããã«ãªããŸãããããã©ã«ãã¯ãçŸåšã®ãã£ã³ãã¹å€æã®å·Šäžé ã§ãã
ãŸããäžè²«æ§ã確ä¿ãããããCanvas.rotateRad ãæ¡åŒµã¡ãœããã«ãªããŸãããïŒIbaca6ïŒ
ImageAsset ããã®ãã¯ã»ã«æ å ±ã®ã¯ãšãªããµããŒããã PixelMap API ãäœæããŸãããïŒI69ad6ïŒ
compose ãšãã®æ§ç¯åºç€ã§ãã Android ãã¬ãŒã ã¯ãŒã¯ API ã®éã®ãªããžã§ã¯ã倿ã®åœåèŠåã«åŸããããtoFrameworkRect ãš toFrameworkRectF ã®ååããããã toAndroidRect ãš toAndroidRectF ã«å€æŽããŸããããããã® API ã«é¢ããããã¥ã¡ã³ããæŽæ°ããŸãããïŒI86337ïŒ
ãã¯ã¿ãŒ ã°ã©ãã£ãã¯çšã®æ¢åã®ãµãã³ã³ããžã·ã§ã³ API ã«ä»£ããŠãVectorPainter API ã远å ããŸããããµãã³ã³ããžã·ã§ã³ã®çµæã¯ãDrawModifier ã§ã¯ãªã VectorPainte ãªããžã§ã¯ãã«ãªããŸãã以åã® DrawVector composable ãéæšå¥šãšããVectorPainter ã«çœ®ãæããŸããã
Image(Painter) API ã®ååã PaintBox(Painter) ã«å€æŽããŸãããImageAsset ã®ä»£ããã« VectorAsset ã䜿çšããç¹ãé€ã㊠Image composable ãšåæ§ã«åäœãã Vector composable ãäœæããŸãããïŒI9af9aãb/149030271ïŒ
Image ã®ååã ImageAsset ã«å€æŽããã¬ã€ã¢ãŠããžã®åå ãšã³ã³ãã³ãã®æç»ã«äœ¿çšããã Image ããŒã¿ãšä»åŸäœ¿çšããã Image composable ãåºå¥ããããããŸãããandroid.graphics.Bitmap ã«å¯Ÿããæ¡åŒµã¡ãœãã Bitmap.asImageAsset() ãäœæããŸãããããã«ãããåŸæ¥ã® Android ã¢ããªéçºãš compose ãã¬ãŒã ã¯ãŒã¯ãçµã¿åãããããã«åœ¹ç«ã€ ImageAsset ã®ã€ã³ã¹ã¿ã³ã¹ãäœæã§ããŸããïŒId5bbdïŒ
TextDirection.Content ã远å ããŸãããïŒI48f36ïŒ
TextDecoration.plus æŒç®åã远å ããŸãããïŒI0ad1aïŒ
Force
ã TextDirectionAlgorithm åæå€ããåé€ãããŸãããïŒIcc944ïŒTextDirectionAlgorithm ã®ååã TextDirection ã«å€æŽãããŸãããïŒI75ce8ïŒ
TextField ã®éžæçšã« LongPressAndDrag ãå®è£ ããŸãããïŒI17919ïŒ
ç¯å²å ã®ãã¹ãŠã®ã¢ãããŒã·ã§ã³ãè¿ã AnnotatedString.getStringAnnotations ã远å ããŸãããïŒI1fa00ïŒ
Locale ãš LocaleList ã®ããã±ãŒãžåã androidx.ui.text ãã androidx.ui.intl ã«å€æŽããŸãããïŒI8132cïŒ
TextField ã®ã«ãŒãœã«ããç¹æ» ã¢ãã¡ãŒã·ã§ã³ã§è¡šç€ºãããããã«ãªããŸãããïŒId10a7ïŒ
API ã®å€æŽ: AnnotatedString(builder: Builder) ã®ååã annotatedString(builder: Builder) ã«å€æŽãããŸãããïŒIa6377ïŒ
API ã®å€æŽ: AnnotatedString.Item ã®ååã AnnotatedString.Range ã«å€æŽãããŸãããïŒI2d44dïŒ
AnnotatedString.Builder.addAnnotationString ã®ååã addStringAnnotation ã«å€æŽããŸãããïŒI5059eïŒ
onTextInputStarted ã³ãŒã«ããã¯ã§æäŸããã SoftwareKeyboardController ã䜿çšããŠããœãããŠã§ã¢ ããŒããŒãã®è¡šç€º / é衚瀺ãåãæ¿ããããããã«ãªããŸãããïŒI8dc44ãb/151860051ïŒ
merge() 颿°ã«å§ä»»ãã TextStyle / ParagraphStyle / SpanStyle çšã®ãã©ã¹æŒç®åã远å ããŸãããïŒIa1addïŒ
FontWeight.lerp ãã¹ãããããªããªããŸãããããŒã¿ã¯ã©ã¹ã®ãŸãŸã§ããïŒI521c2ïŒ
FontWeight ã³ã³ã¹ãã©ã¯ã¿ãå ¬éãããããŒã¿ã¯ã©ã¹ã§ã¯ãªããªããŸãããïŒId6b1fïŒ
getLineStartãgetLineEndãgetEllipsisOffsetãgetEllipsisCount ã TextLayoutResult ã«è¿œå ããŸãããïŒIbc801ïŒ
ui-text ã¢ãžã¥ãŒã«ã®ååã ui-text-core ã«å€æŽãããŸãããïŒI57decïŒ
䜿çšãããŠãã ui-geometry ã¢ãžã¥ãŒã«å ã«éè€ãã Size ã¯ã©ã¹ãååšãããããæªäœ¿çšã® Size ã¯ã©ã¹ãåé€ããŸãããïŒI1b602ïŒ
AdapterList ã远å ããŸãããããã¯ã衚瀺ãããã¢ã€ãã ã®ã¿ãäœæããŠé 眮ããã¹ã¯ããŒã« ãªã¹ã ã³ã³ããŒãã³ãã§ããçŸåšã®æ¢ç¥ã®åé¡ã¯ãåçŽæ¹åã®ã¿ã§ããããšãåãžã®å€æŽã®ãã¹ãŠã®ã±ãŒã¹ãå®å šã«åŠçã§ããªãããšãªã©ã§ããïŒIb351bïŒ
Box ã«ããã£ã³ã°ãæ ç·ãã·ã§ã€ããèæ¯ã®ãã©ã¡ãŒã¿ã远å ããŸãããïŒI05027ãb/148147281ïŒ
ãã°ã®ä¿®æ£
- ããã¹ã ãã£ãŒã«ãå ã® onFocusChange ã³ãŒã«ããã¯ã®ååã onFocusChanged ã«å€æŽããŸãããïŒIda4a1ïŒ
- VerticalScroller ãš HoriziontalScroller ãéæšå¥šã«ãªããŸãããColumn / Row ã®åäœãšãã©ã¡ãŒã¿ã®çµã¿èŸŒã¿ãšã¯ã¹ããªãšã³ã¹ããµããŒãããã«ã¯ãScrollableColumn ãš ScrollableRow ã䜿çšããããç¬èªã®èŠçŽ ã§ Modifier.verticalScroll ãš Modifier.horizontalScroll ã䜿çšããŠãã ãããåæ§ã«ãScrollerPosition ãéæšå¥šã«ãªããScrollState ã«çœ®ãæããããŸãããïŒI400ceãb/157225838ãb/149460415ãb/154105299ïŒ
runOnIdleCompose
ã®ååãrunOnIdle
ã«å€æŽãããŸãããïŒI83607ïŒ- ããã€ãã®ãã¹ã API ã®ååãããçŽæçã«ãããããããã®ã«ãªããŸãããfindXYZ API ãšããååã¯ãã¹ãŠ onNodeXYZ ã«å€æŽãããŸãããdoXYZ API ãšããååã¯ãã¹ãŠ performXYZ ã«å€æŽãããŸãããïŒI7f164ïŒ
- æ°ããã³ã³ããžã·ã§ã³ãªãã§ã ViewGroup å ã§ Compose UI ãã³ã³ããŒãºã§ããããã«ãªããŸãããäŸã«ã€ããŠã¯ãViewInteropDemo ãã芧ãã ãããïŒI9ab0bãb/160455080ïŒ
- sortWith ãš removeRange ã MutableVector ã«è¿œå ããŸãããïŒIcccf7ïŒ
- TextField ã®éžæã倿Žããã«ã¯ãDrag éžæãã³ãã«ãå®è£ ããŠãã ãããïŒI27032ïŒ
- NativeShader Expect ã¯ã©ã¹ãã©ãããã Shader ã€ã³ã©ã€ã³ ã¯ã©ã¹ãåé€ããŸãããNativeShader ã®ååã Shader ã«å€æŽããŸãããã©ããããã Shader ã€ã³ã©ã€ã³ ã¯ã©ã¹ã¯ãAPI ãµãŒãã§ã¹ã«äŸ¡å€ã®ããæ©èœãäœãä»å ããŠãããããããã€ã³ã©ã€ã³ ã¯ã©ã¹ã§ããããã®ãããNativeShader ã¯ã©ã¹ãçŽæ¥äœ¿çšããŠãã ãããïŒI25e4dïŒ
PainterModifier ããªãã¡ã¯ã¿ãªã³ã°ããŠãæå®ãããå¶çŽãš ContentScale ãã©ã¡ãŒã¿ã«åºã¥ãã¹ã±ãŒãªã³ã°ãè¡ããªãããã«ããŸãããPainter ã®å®è£ ã¯ãæç»å¯Ÿè±¡ã§ããæå®ããã DrawScope ã®ãµã€ãºã«åºã¥ããŠãç¬åã§æç»ã³ã³ãã³ããã¹ã±ãŒãªã³ã°ããããã«ãªããŸãã
VectorPainter ã®ãã£ãã·ã¥ ããããããããæå®ãããæç»ãµã€ãºã§ã¯ãªãããã©ã«ã ãµã€ãºã«å€æŽãããåé¡ã解決ããŸããã
ImagePainter ãæŽæ°ããŠãèªèº«ã®ã³ã³ãã³ãã®ã¹ã±ãŒãªã³ã°ã PainterModifier ã«ãŸãããã®ã§ã¯ãªããèªèº«ã§è¡ãããã«ããŸãããïŒI6ba90ïŒ
ã¢ãã¡ãŒã·ã§ã³ã®ã¿ã€ãã³ã°ããµããŒãããæäžäœã¬ãã«ã® withFrameNanos 颿°ã远å ããŸãããïŒIe34c5ïŒ
@Untracked ã¢ãããŒã·ã§ã³ãéæšå¥šã«ãªããŸããã@ComposableContract(tracked=false) ã«çœ®ãæããŸããïŒId211eïŒ
androidx.ui.foundation.TextFieldValue ãš androidx.ui.input.EditorValue ãéæšå¥šã«ãªããŸããããã®åã䜿çšãã TextFieldãFilledTextFieldãCoreTextField ã®å composable ãéæšå¥šã«ãªããŸããã代ããã« androidx.ui.input.TextFieldValue ã䜿çšããŠãã ãããïŒI4066dãb/155211005ïŒ
ãã£ã¹ãããäžã«ãµãã³ã³ããžã·ã§ã³ãä»ã㊠PointerInputFilters ãåé€ããããšããã€ã³ã¿å ¥åãã£ã¹ããããã¯ã©ãã·ã¥ãåŒãèµ·ããåé¡ã解決ããŸããããã®åé¡ã¯è§£æ±ºæžã¿ã§ããïŒI1f48bãb/157998762ïŒ
ãã£ã¹ãããäžã«ãµãã³ã³ããžã·ã§ã³ãä»ã㊠PointerInputFilters ãåé€ããããšããã€ã³ã¿å ¥åãã£ã¹ããããã¯ã©ãã·ã¥ãåŒãèµ·ããåé¡ã解決ããŸããããã®åé¡ã¯è§£æ±ºæžã¿ã§ããïŒIab398ãb/157998762ïŒ
Radius ã¯ã©ã¹ãã€ã³ã©ã€ã³ ã¯ã©ã¹ã«ãªãã¡ã¯ã¿ãªã³ã°ããŸãããã³ã³ãããªã³äœæã¡ãœãããåé€ãã颿°ã³ã³ã¹ãã©ã¯ã¿ã«çœ®ãæããŸããããã®é¢æ°ã³ã³ã¹ãã©ã¯ã¿ã¯ãããã©ã«ã ãã©ã¡ãŒã¿ã§ãy 軞沿ãã®ååŸããå¿ é ã® x 軞ååŸãã©ã¡ãŒã¿ã®ååŸãšäžèŽããããã«ãªã£ãŠããŸãã
DrawScope.drawRoundRect ãæŽæ°ãã2 ã€ã® float å€ã䜿çšã㊠x 軞沿ããš y 軞沿ãã®ååŸãåå¥ã«ç€ºãã®ã§ã¯ãªããåäžã® Radius ãã©ã¡ãŒã¿ã䜿çšããããã«ããŸãããïŒI46d1bïŒ
Recompose composable ã¯ãæçšãªæœè±¡åã§ã¯ãªããªããŸãããã»ãšãã©ã®å Žåãåã³ã³ããŒãºã¯ãMutableState å²ãåœãŠã®çµæãšããŠçããŸãããã以å€ã®å Žåã¯ã
invalidate
颿°ã䜿çšããŠãçŸåšã®ã¹ã³ãŒãã®åã³ã³ããŒãºãããªã¬ãŒããããšãããããããŸããïŒIfc992ïŒãã¯ã»ã« ãã©ã¡ãŒã¿ã«é¢ã㊠Dp ãšããªããã£ãåã ãã«äŸåããããã«å€§èŠæš¡ãªãªãã¡ã¯ã¿ãªã³ã°ãè¡ãäžç°ãšããŠãå皮㮠compose ã¯ã©ã¹å ã§ Px ã¯ã©ã¹ã䜿çšããªãããã«å€æŽããŸãããïŒIede0bïŒ
Compose ã®ã³ã³ãã€ã©ã«ãããã³ãŒãçæã®ä»æ§ã倿ŽããŸããã倿Žåã® Compose ã³ã³ãã€ã©ã§ã¯ãã³ã³ããŒãºå¯èœãªé¢æ°ã®åŒã³åºãéšåã倿ããŠããŸããã倿ŽåŸã¯ã³ã³ããŒãºå¯èœãªé¢æ°ã®æ¬æã倿ããåŒã³åºãéšåã§ã®å€æã¯äžéšãé€ããŠè¡ããŸããã
ã€ãŸããCompose ã©ã³ã¿ã€ã ãšã®ããžãã¯äžã®ããåãã¯ãåŒã³åºãéšåã§ã¯ãªã颿°æ¬æã®éå§éšåã§çºçããŸãã
ãã®å€æŽã¯ Compose ã®äœ¿ç𿹿³ã«é¢ããããœãŒã¹äºæã§ãããCompose ã䜿çšããŠããŠãéåžžã¯ã³ãŒããæŽæ°ããå¿ èŠã¯ãããŸããã
ãã®åŠçããµããŒãããããããã¹ãŠã®ã³ã³ããŒãºå¯èœãªé¢æ°ã® JVM ã®çœ²åã倿ŽãããŸãããã³ã³ããŒãºå¯èœãªé¢æ°ã§ãã©ã¡ãŒã¿ã 1 ã€åãåãå Žåã3 ã€ã®ãã©ã¡ãŒã¿ãåãåã颿°ã«å€æãããŸãã远å ããããã©ã¡ãŒã¿ã¯ Composer ãšãkeyãæŽæ°ã§ããããããã¹ã¯æŽæ°ãšããŠãåŒã³åºããéããŠã¡ã¿ããŒã¿ãäŒéããéã«äœ¿çšãããŸãã
ãªããããã©ã«ãã®åŒæ°ãã³ã³ããŒãºå¯èœãªé¢æ°ã«å€æãããããã«ãªã£ãŠããŸãã倿æã«ã颿°ã®åæã«ãããªãŒããŒããŒããããã©ã«ãã§è¡ãããããšã¯ãªããããå®çŸ©ããã颿°ã®æ°ã¯å°ãªããªããŸãã
ä»åã®å€æŽã«ããç¢ºèªæžã¿ã®æå³çãªåäœå€æŽã¯æ¬¡ã®ãšããã§ãã
- äžéšã®åŒã³åºããã倿Žåã«ã¯ã¹ããããããªãã£ãç®æã§ã¹ããããããã
- ããã©ã«ãã®åŒæ°ãå«ãåŒã§ãã³ã³ããŒãºå¯èœãªåŒãæ£ããç»é²ããã³åŠçãããã
æé©åã«é¢ããŠã¯ã次ã®å 容ãå«ãŸããŸãã 1. ãã©ã¡ãŒã¿ã®æ¯èŒçµæããã³ãŒã«ã°ã©ããä»ããŠä»ã®ã³ã³ããŒãºå¯èœãªé¢æ°ã«äŒéãããããã®çµæãå®è¡æã®æ¯èŒåŠçãæžã£ãŠã¹ããã ããŒãã«ã®ãµã€ãºãå°ãããªãããŸããã¹ããããããã³ã³ããŒãºå¯èœãªé¢æ°ã以åãããå¢ããã 2. ã³ã³ãã€ã«æã«ãéçããšå€å®ããããã©ã¡ãŒã¿ã¯å®è¡æã«æ¯èŒãŸãã¯ä¿åãããªããªãããã®çµæãæ¯èŒåŠçãæžã£ãŠã¹ããã ããŒãã«ã®ãµã€ãºãå°ãããªãã 3. 颿°ã®æ¬æã«å¶åŸ¡ãããŒæ§é ã䜿çšãããçæãããã°ã«ãŒãã®æ°ãæå°éã«æããããããã®çµæãã¹ããã ããŒãã«ã®ãµã€ãºãå°ãããªããå®è¡æã®åŠçãæžå°ããã 4. 颿°ã«æž¡ãããæªäœ¿çšã®ãã£ã¹ããã ãã©ã¡ãŒã¿ãšã¬ã·ãŒã ãã©ã¡ãŒã¿ãã颿°ã®æ¬æå ã§äœ¿çšãããŠããªãå Žåã«ã¯ã颿°ã®ã¹ããããè¡ããã©ããã®å€æã«ã¯çšããããªãã
äºææ§ãç Žã倿Žã®ã»ãšãã©ã¯ãã³ã³ãã€ã©ãçŽæ¥ã¿ãŒã²ãããšãã API ã«é¢ãããã®ã§ãããcompose ã®äžè¬çãªäœ¿çšã«ã¯åœ±é¿ããŸããã 1. Composer::startExpr ãåé€ãããŸããã 2. Composer::endExpr ãåé€ãããŸããã 3. Composer::call ãéæšå¥šã«ãªããŸããã 4.
key
ã® non-varargs ã®ãªãŒããŒããŒããåé€ãããŸãããä»åŸã¯vararg
ããŒãžã§ã³ã䜿çšããŠãã ããã 5. Pivotal ã¢ãããŒã·ã§ã³ãéæšå¥šã«ãªããŸããã代ããã«key
ã䜿çšããŠãã ããã6. ScopeUpdateScope::updateScope ã倿ŽãããFunction1 ã§ã¯ãªã Function3 ãæ³å®ããããã«ãªããŸããã7. restartableFunction ãš restartableFunctionN ãæŽæ°ãããã³ã³ãã€ã«æãã©ã¡ãŒã¿ã远å ãããŸãããïŒI60756ãb/143464846ïŒéæšå¥šãšãªã£ã LayoutAlign 修食åãåé€ããŸãããïŒI10877ïŒ
RepaintBoundary ãåé€ã㊠DrawLayerModifier ã«çœ®ãæããŸãããïŒI00aa4ïŒ
ButtonãFloatingActionButtonãClickable ã«åå¥ã®
enabled
ãã©ã¡ãŒã¿ã远å ããŸãããButton ã®äžéšã®ãã©ã¡ãŒã¿ã®ååãšé åºã倿ŽããŸãããïŒI54b5aïŒButtonStyle ãå¥ã®é¢æ°ã«çœ®ãæããããã¹ãïŒæååïŒãªãŒããŒããŒããåé€ããŸãããäœ¿çšæ¹æ³ã«ã€ããŠã¯ãæŽæ°æžã¿ã®ãµã³ãã«ãã芧ãã ãããïŒIf63abãb/146478620ãb/146482131ïŒ
ã¢ã³ããšã³ã API ãå€§å¹ ã«å€æŽããŸããã詳现ã«ã€ããŠã¯ããã°ãš
Ambient<T>
ã®ããã¥ã¡ã³ããã芧ãã ããïŒI4c7eeãb/143769776ïŒLayoutDirection ã«ãã£ãŠæ±ºå®ãããããã©ã«ãã® TextDirection ã®åäœã倿ŽããŸãããããšãã°ãLayoutDirection ã RTL ã§ããå Žåãããã©ã«ãã® TextDirection 㯠RTL ã«ãªããŸãã以å㯠TextDirection.ContentOrLtr/Rtl ã§ãããïŒI4e803ïŒ
ãã°ä¿®æ£: ãã©ã³ãã®å€ªããšãã©ã³ã ã¹ã¿ã€ã«ã AnnotatedString ã«ãã¹ããããšãããã¹ããæ£ããã¬ã³ããªã³ã°ãããªããã°ãä¿®æ£ããŸãããïŒI77a9dïŒ
äžè¬çã«äœ¿çšããããã©ã¡ãŒã¿ã Text() ã«è¿œå ããŸãããText(style = TextStyle(textAlign = TextAlign.Center)) ã®ãããªå°æ°ã®ãã©ã¡ãŒã¿ãæž¡ãããŒã«ã« ããã¹ã ã¹ã¿ã€ã«ãçŸåšäœæããŠããå ŽåãText(textAlign = TextAlign.Center) ã®ããã«ãã©ã¡ãŒã¿ãçŽæ¥æå®ã§ããŸããïŒI82768ïŒ
ui-android-text ã¢ãžã¥ãŒã«ã®ååã ui-text-android ã«å€æŽãããŸãããïŒI68cbeïŒ