diff --git a/app/src/main/java/io/legato/kazusa/ui/book/audio/AudioPlayActivity.kt b/app/src/main/java/io/legato/kazusa/ui/book/audio/AudioPlayActivity.kt index 4fba15bb3..f802b2679 100644 --- a/app/src/main/java/io/legato/kazusa/ui/book/audio/AudioPlayActivity.kt +++ b/app/src/main/java/io/legato/kazusa/ui/book/audio/AudioPlayActivity.kt @@ -229,7 +229,6 @@ class AudioPlayActivity : // } // }) - // 替换原来的 SeekBar 监听器 binding.playerProgress.addOnChangeListener { _, value, fromUser -> if (fromUser) { binding.tvDurTime.text = progressTimeFormat.format(value.toLong()) @@ -648,14 +647,16 @@ class AudioPlayActivity : // binding.playerProgress.secondaryProgress = it // // } - observeEventSticky(EventBus.AUDIO_SIZE) { - binding.playerProgress.valueTo = maxOf(1f, it.toFloat()) - binding.tvAllTime.text = progressTimeFormat.format(it.toLong()) + observeEventSticky(EventBus.AUDIO_SIZE) { size -> + binding.playerProgress.valueTo = maxOf(1f, size.toFloat()) + binding.tvAllTime.text = progressTimeFormat.format(size.toLong()) } - observeEventSticky(EventBus.AUDIO_PROGRESS) { - if (!adjustProgress) binding.playerProgress.value = it.toFloat() - binding.tvDurTime.text = progressTimeFormat.format(it.toLong()) + observeEventSticky(EventBus.AUDIO_PROGRESS) { progress -> + val slider = binding.playerProgress + val safeValue = progress.toFloat().coerceIn(slider.valueFrom, slider.valueTo) + if (!adjustProgress) slider.value = safeValue + binding.tvDurTime.text = progressTimeFormat.format(progress.toLong()) } observeEventSticky(EventBus.AUDIO_BUFFER_PROGRESS) { diff --git a/app/src/main/res/layout/activity_audio_play.xml b/app/src/main/res/layout/activity_audio_play.xml index ccf2a8d76..d3fdc3252 100644 --- a/app/src/main/res/layout/activity_audio_play.xml +++ b/app/src/main/res/layout/activity_audio_play.xml @@ -163,7 +163,7 @@ android:layout_marginHorizontal="14dp" android:value="0" android:valueFrom="0" - android:valueTo="1" + android:valueTo="100000" app:tickColorInactive="@android:color/transparent" app:layout_constraintBottom_toTopOf="@id/tv_all_time" app:thumbElevation="0dp"