Animate card gap spacing with collapse progress
Card gap now interpolates between 24dp (expanded) and 12dp (collapsed) instead of using a fixed value, providing a smoother visual transition. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
parent
5087bceb51
commit
85fe11d9f1
@ -61,7 +61,7 @@ fun CalendarMonthView(
|
||||
val p = viewModel.collapseProgress
|
||||
val headerHeightPx = monthHeaderHeightPx + weekdayHeaderHeightPx
|
||||
val rowPaddingPx = with(density) { ROW_PADDING_DP.dp.toPx() }.toInt()
|
||||
val cardGapPx = with(density) { CARD_GAP_DP.dp.toPx() }.toInt()
|
||||
val cardGapPx = with(density) { lerp(CARD_GAP_EXPANDED_DP.toFloat(), CARD_GAP_COLLAPSED_DP.toFloat(), p).dp.toPx() }.toInt()
|
||||
|
||||
val interpolatedWeeks by remember {
|
||||
derivedStateOf {
|
||||
|
||||
@ -24,8 +24,11 @@ const val HORIZONTAL_PADDING_DP = 16
|
||||
/** BottomCard 拖拽手势范围 (dp) */
|
||||
const val DRAG_RANGE_DP = 200
|
||||
|
||||
/** 日历与 BottomCard 之间的间距 (dp) */
|
||||
const val CARD_GAP_DP = 12
|
||||
/** 日历与 BottomCard 之间的间距 (dp):展开时 */
|
||||
const val CARD_GAP_EXPANDED_DP = 24
|
||||
|
||||
/** 日历与 BottomCard 之间的间距 (dp):折叠时 */
|
||||
const val CARD_GAP_COLLAPSED_DP = 12
|
||||
|
||||
/** 线性插值 */
|
||||
fun lerp(start: Float, end: Float, fraction: Float): Float = start + (end - start) * fraction
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user