fix(android): pin Slider inactiveTrackColor to surfaceVariant (parity)
Material3 changed the Slider's default inactiveTrackColor to colorScheme.secondaryContainer, which MinstrelTheme does not override -- so M3's baseline purple leaked into both the mini scrubber and the NowPlaying ScrubberRow. Flutter explicitly sets inactiveColor = fs.slate; mirror that by pinning inactiveTrackColor to surfaceVariant (which the theme already maps to slate). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -190,6 +190,10 @@ private fun MiniSeekBar(positionMs: Long, durationMs: Long, onSeek: (Long) -> Un
|
|||||||
colors = SliderDefaults.colors(
|
colors = SliderDefaults.colors(
|
||||||
thumbColor = MaterialTheme.colorScheme.primary,
|
thumbColor = MaterialTheme.colorScheme.primary,
|
||||||
activeTrackColor = MaterialTheme.colorScheme.primary,
|
activeTrackColor = MaterialTheme.colorScheme.primary,
|
||||||
|
// M3 default inactiveTrackColor is secondaryContainer, which the
|
||||||
|
// theme doesn't override — that's where the M3-baseline purple
|
||||||
|
// leaks in. Pin to surfaceVariant (= slate) for Flutter parity.
|
||||||
|
inactiveTrackColor = MaterialTheme.colorScheme.surfaceVariant,
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -409,6 +409,9 @@ private fun ScrubberRow(positionMs: Long, durationMs: Long, onSeek: (Long) -> Un
|
|||||||
colors = SliderDefaults.colors(
|
colors = SliderDefaults.colors(
|
||||||
thumbColor = accent,
|
thumbColor = accent,
|
||||||
activeTrackColor = accent,
|
activeTrackColor = accent,
|
||||||
|
// M3 inactive default is secondaryContainer (purple baseline);
|
||||||
|
// pin to surfaceVariant (= slate) for Flutter parity.
|
||||||
|
inactiveTrackColor = MaterialTheme.colorScheme.surfaceVariant,
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
Row(
|
Row(
|
||||||
|
|||||||
Reference in New Issue
Block a user