From 74d479c3dccf805b106c5fb76a4e9818d135cbcf Mon Sep 17 00:00:00 2001 From: andrewhamilton0 <102604324+andrewhamilton0@users.noreply.github.com> Date: Mon, 2 Sep 2024 12:39:23 -0400 Subject: [PATCH] Fixes issue where alt text positioning covers video controller (#4632) Fixes issue where alt text positioning covers video controller Also adds scroll view for more responsive scrolling closes #4165 --- .../tusky/fragment/ViewVideoFragment.kt | 16 ++++---- .../main/res/layout/fragment_view_video.xml | 40 +++++++++++-------- 2 files changed, 31 insertions(+), 25 deletions(-) diff --git a/app/src/main/java/com/keylesspalace/tusky/fragment/ViewVideoFragment.kt b/app/src/main/java/com/keylesspalace/tusky/fragment/ViewVideoFragment.kt index 675256241..d9ae9ff45 100644 --- a/app/src/main/java/com/keylesspalace/tusky/fragment/ViewVideoFragment.kt +++ b/app/src/main/java/com/keylesspalace/tusky/fragment/ViewVideoFragment.kt @@ -22,7 +22,6 @@ import android.graphics.drawable.Drawable import android.os.Bundle import android.os.Handler import android.os.Looper -import android.text.method.ScrollingMovementMethod import android.view.GestureDetector import android.view.Gravity import android.view.LayoutInflater @@ -353,12 +352,11 @@ class ViewVideoFragment : ViewMediaFragment() { description: String?, showingDescription: Boolean ) { - binding.mediaDescription.text = description - binding.mediaDescription.visible(showingDescription) - binding.mediaDescription.movementMethod = ScrollingMovementMethod() + binding.mediaDescriptionTextView.text = description + binding.mediaDescriptionScrollView.visible(showingDescription) // Ensure the description is visible over the video - binding.mediaDescription.elevation = binding.videoView.elevation + 1 + binding.mediaDescriptionScrollView.elevation = binding.videoView.elevation + 1 binding.videoView.transitionName = url @@ -383,16 +381,16 @@ class ViewVideoFragment : ViewMediaFragment() { val alpha = if (isDescriptionVisible) 1.0f else 0.0f if (isDescriptionVisible) { // If to be visible, need to make visible immediately and animate alpha - binding.mediaDescription.alpha = 0.0f - binding.mediaDescription.visible(isDescriptionVisible) + binding.mediaDescriptionScrollView.alpha = 0.0f + binding.mediaDescriptionScrollView.visible(isDescriptionVisible) } - binding.mediaDescription.animate().alpha(alpha) + binding.mediaDescriptionScrollView.animate().alpha(alpha) .setListener(object : AnimatorListenerAdapter() { @SuppressLint("SyntheticAccessor") override fun onAnimationEnd(animation: Animator) { view ?: return - binding.mediaDescription.visible(isDescriptionVisible) + binding.mediaDescriptionScrollView.visible(isDescriptionVisible) animation.removeListener(this) } }) diff --git a/app/src/main/res/layout/fragment_view_video.xml b/app/src/main/res/layout/fragment_view_video.xml index 728dda2b3..77a02598a 100644 --- a/app/src/main/res/layout/fragment_view_video.xml +++ b/app/src/main/res/layout/fragment_view_video.xml @@ -8,22 +8,6 @@ android:clickable="true" android:focusable="true"> - - + + + + + +