From 102324ea6dc79deee07695361d5cb1a43421b964 Mon Sep 17 00:00:00 2001 From: jhengazuki Date: Mon, 27 Oct 2025 15:55:26 +0800 Subject: [PATCH] Fix height bug --- .../com/fongmi/android/tv/ui/activity/VideoActivity.java | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/app/src/mobile/java/com/fongmi/android/tv/ui/activity/VideoActivity.java b/app/src/mobile/java/com/fongmi/android/tv/ui/activity/VideoActivity.java index 1a08cadcc..7c5b7ed4f 100644 --- a/app/src/mobile/java/com/fongmi/android/tv/ui/activity/VideoActivity.java +++ b/app/src/mobile/java/com/fongmi/android/tv/ui/activity/VideoActivity.java @@ -404,6 +404,7 @@ public class VideoActivity extends BaseActivity implements Clock.Callback, Custo mAnimator = new ValueAnimator(); mAnimator.setInterpolator(new DecelerateInterpolator()); mAnimator.addUpdateListener(animation -> { + if (isLand() || isFullscreen() || isInPictureInPictureMode()) return; mFrameParams.height = (int) animation.getAnimatedValue(); mBinding.video.setLayoutParams(mFrameParams); }); @@ -1198,7 +1199,7 @@ public class VideoActivity extends BaseActivity implements Clock.Callback, Custo mClock.setCallback(this); break; case PlayerEvent.SIZE: - mBinding.video.post(this::changeHeight); + changeHeight(); checkOrientation(); break; } @@ -1223,10 +1224,10 @@ public class VideoActivity extends BaseActivity implements Clock.Callback, Custo int videoWidth = mPlayers.getVideoWidth(); int videoHeight = mPlayers.getVideoHeight(); if (videoWidth == 0 || videoHeight == 0) return; + int viewWidth = ResUtil.getScreenWidth(); int minHeight = ResUtil.dp2px(150); int maxHeight = ResUtil.getScreenHeight() / 2; - int parentWidth = ((View) mBinding.video.getParent()).getWidth(); - int calculated = (int) (parentWidth * ((float) videoHeight / videoWidth)); + int calculated = (int) (viewWidth * ((float) videoHeight / videoWidth)); int finalHeight = Math.max(minHeight, Math.min(maxHeight, calculated)); if (finalHeight == mBinding.video.getHeight()) return; if (mAnimator.isRunning()) mAnimator.cancel();