From 5a5b464057b406b2550b1b06f151927c8e9ed6b1 Mon Sep 17 00:00:00 2001 From: Prathamesh More Date: Tue, 4 Jan 2022 14:26:22 +0530 Subject: [PATCH] Added grow animation to LrcView --- app/build.gradle | 1 - .../monkey/retromusic/lyrics/CoverLrcView.kt | 17 +++++++++++++++-- .../res/layout/fragment_player_album_cover.xml | 4 ++-- build.gradle | 13 ++++++------- 4 files changed, 23 insertions(+), 12 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index 6ff893ebd..6520f57c8 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -88,7 +88,6 @@ static def getDate() { new Date().format('MMddyyyyss') } - dependencies { implementation project(':appthemehelper') implementation "androidx.gridlayout:gridlayout:1.0.0" diff --git a/app/src/main/java/code/name/monkey/retromusic/lyrics/CoverLrcView.kt b/app/src/main/java/code/name/monkey/retromusic/lyrics/CoverLrcView.kt index 34ce472e1..d5d506339 100644 --- a/app/src/main/java/code/name/monkey/retromusic/lyrics/CoverLrcView.kt +++ b/app/src/main/java/code/name/monkey/retromusic/lyrics/CoverLrcView.kt @@ -167,7 +167,7 @@ class CoverLrcView @JvmOverloads constructor( isShowTimeline = false removeCallbacks(hideTimelineRunnable) mCurrentLine = centerLine - invalidate() + animateCurrentTextSize() return true } } else { @@ -458,6 +458,7 @@ class CoverLrcView @JvmOverloads constructor( mCurrentLine = line if (!isShowTimeline) { smoothScrollTo(line) + animateCurrentTextSize() } else { invalidate() } @@ -536,6 +537,18 @@ class CoverLrcView @JvmOverloads constructor( canvas.restore() } + fun animateCurrentTextSize() { + val currentTextSize = mCurrentTextSize + ValueAnimator.ofFloat(mNormalTextSize, currentTextSize).apply { + addUpdateListener { + mCurrentTextSize = it.animatedValue as Float + invalidate() + } + duration = 300L + start() + } + } + @SuppressLint("ClickableViewAccessibility") override fun onTouchEvent(event: MotionEvent): Boolean { if (event.action == MotionEvent.ACTION_UP @@ -613,7 +626,7 @@ class CoverLrcView @JvmOverloads constructor( private fun adjustCenter() { smoothScrollTo(centerLine, ADJUST_DURATION) } - /** 滚动到某一行 */ + /** 滚动到某一行 */ private fun smoothScrollTo(line: Int, duration: Long = mAnimationDuration) { val offset = getOffset(line) diff --git a/app/src/main/res/layout/fragment_player_album_cover.xml b/app/src/main/res/layout/fragment_player_album_cover.xml index da034be3f..d2872731e 100644 --- a/app/src/main/res/layout/fragment_player_album_cover.xml +++ b/app/src/main/res/layout/fragment_player_album_cover.xml @@ -25,8 +25,8 @@ android:layout_width="match_parent" android:layout_height="match_parent" app:fel_edge="top|bottom" - app:fel_size_bottom="80dp" - app:fel_size_top="80dp"> + app:fel_size_bottom="100dp" + app:fel_size_top="100dp">