From f772253a67f979cf13a7f5f1e82a44eca8577f3e Mon Sep 17 00:00:00 2001 From: jhengazuki Date: Fri, 3 Oct 2025 16:29:59 +0800 Subject: [PATCH] Fix channel width bug --- .../java/com/fongmi/android/tv/ui/activity/LiveActivity.java | 3 ++- .../java/com/fongmi/android/tv/ui/activity/LiveActivity.java | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/app/src/leanback/java/com/fongmi/android/tv/ui/activity/LiveActivity.java b/app/src/leanback/java/com/fongmi/android/tv/ui/activity/LiveActivity.java index bb6401ec4..6db677ca6 100644 --- a/app/src/leanback/java/com/fongmi/android/tv/ui/activity/LiveActivity.java +++ b/app/src/leanback/java/com/fongmi/android/tv/ui/activity/LiveActivity.java @@ -271,7 +271,8 @@ public class LiveActivity extends BaseActivity implements GroupPresenter.OnClick int padding = ResUtil.dp2px(60); if (group.isKeep()) group.setWidth(0); if (group.getWidth() == 0) for (Channel item : group.getChannel()) group.setWidth(Math.max(group.getWidth(), (item.getLogo().isEmpty() ? 0 : logo) + ResUtil.getTextWidth(item.getNumber() + item.getName(), 16))); - mBinding.channel.getLayoutParams().width = group.getWidth() == 0 ? 0 : Math.min(group.getWidth() + padding, ResUtil.getScreenWidth() / 2); + mBinding.channel.post(() -> mBinding.channel.getLayoutParams().width = group.getWidth() == 0 ? 0 : Math.min(group.getWidth() + padding, ResUtil.getScreenWidth() / 2)); + mBinding.channel.post(() -> mBinding.channel.requestLayout()); return group; } diff --git a/app/src/mobile/java/com/fongmi/android/tv/ui/activity/LiveActivity.java b/app/src/mobile/java/com/fongmi/android/tv/ui/activity/LiveActivity.java index 3e7652b50..eb4fc27b0 100644 --- a/app/src/mobile/java/com/fongmi/android/tv/ui/activity/LiveActivity.java +++ b/app/src/mobile/java/com/fongmi/android/tv/ui/activity/LiveActivity.java @@ -279,7 +279,8 @@ public class LiveActivity extends BaseActivity implements CustomKeyDown.Listener int padding = ResUtil.dp2px(60); if (group.isKeep()) group.setWidth(0); if (group.getWidth() == 0) for (Channel item : group.getChannel()) group.setWidth(Math.max(group.getWidth(), (item.getLogo().isEmpty() ? 0 : logo) + ResUtil.getTextWidth(item.getNumber() + item.getName(), 14))); - mBinding.channel.getLayoutParams().width = group.getWidth() == 0 ? 0 : Math.min(group.getWidth() + padding, ResUtil.getScreenWidth() / 2); + mBinding.channel.post(() -> mBinding.channel.getLayoutParams().width = group.getWidth() == 0 ? 0 : Math.min(group.getWidth() + padding, ResUtil.getScreenWidth() / 2)); + mBinding.channel.post(() -> mBinding.channel.requestLayout()); } private void setWidth(Epg epg) {