Skip to content

Commit 63684d0

Browse files
committed
Fix/#5 : Move totalItemHeight.toPx() calculation outside LazyColumn for performance optimization
1 parent 0743076 commit 63684d0

File tree

1 file changed

+2
-1
lines changed
  • timepicker/src/main/java/com/dongchyeon/timepicker/ui

1 file changed

+2
-1
lines changed

timepicker/src/main/java/com/dongchyeon/timepicker/ui/PickerItem.kt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -102,6 +102,7 @@ internal fun <T> PickerItem(
102102
}
103103

104104
val totalItemHeight = itemHeightDp + style.itemSpacing
105+
val totalItemHeightPx = totalItemHeight.toPx()
105106

106107
Box(modifier = modifier) {
107108
LazyColumn(
@@ -123,7 +124,7 @@ internal fun <T> PickerItem(
123124
val itemCenterOffset = itemInfo?.offset?.let { it + (itemInfo.size / 2) } ?: 0
124125

125126
val distanceFromCenter = abs(viewportCenterOffset - itemCenterOffset).toFloat()
126-
val maxDistance = totalItemHeight.toPx() * visibleItemsMiddle
127+
val maxDistance = totalItemHeightPx * visibleItemsMiddle
127128

128129
val alpha = curveEffect.calculateAlpha(distanceFromCenter, maxDistance)
129130
val scaleY = curveEffect.calculateScaleY(distanceFromCenter, maxDistance)

0 commit comments

Comments
 (0)