From b3da5fdb223631e5c3e23153f8376c546b54a75d Mon Sep 17 00:00:00 2001 From: Yuriy Liskov Date: Wed, 25 Feb 2026 00:10:56 +0200 Subject: [PATCH] MarqueeTextViewCompat: rtl scrolling fix --- .../MarqueeTextViewCompat.java | 8 ++++++++ .../smartyoutubetv2/tv/util/ViewUtil.java | 14 ++++---------- 2 files changed, 12 insertions(+), 10 deletions(-) diff --git a/smarttubetv/src/main/java/com/liskovsoft/smartyoutubetv2/tv/ui/widgets/marqueetextviewcompat/MarqueeTextViewCompat.java b/smarttubetv/src/main/java/com/liskovsoft/smartyoutubetv2/tv/ui/widgets/marqueetextviewcompat/MarqueeTextViewCompat.java index 21822cc9a..f2a6d38c1 100644 --- a/smarttubetv/src/main/java/com/liskovsoft/smartyoutubetv2/tv/ui/widgets/marqueetextviewcompat/MarqueeTextViewCompat.java +++ b/smarttubetv/src/main/java/com/liskovsoft/smartyoutubetv2/tv/ui/widgets/marqueetextviewcompat/MarqueeTextViewCompat.java @@ -300,6 +300,14 @@ public class MarqueeTextViewCompat extends TextView { } } + @Override + public void setLayoutDirection(int layoutDirection) { + super.setLayoutDirection(layoutDirection); + if (mTextView != null) { + mTextView.setLayoutDirection(layoutDirection); + } + } + @Override public void setTextDirection(int textDirection) { super.setTextDirection(textDirection); diff --git a/smarttubetv/src/main/java/com/liskovsoft/smartyoutubetv2/tv/util/ViewUtil.java b/smarttubetv/src/main/java/com/liskovsoft/smartyoutubetv2/tv/util/ViewUtil.java index c0e91f18e..7c53ee1d7 100644 --- a/smarttubetv/src/main/java/com/liskovsoft/smartyoutubetv2/tv/util/ViewUtil.java +++ b/smarttubetv/src/main/java/com/liskovsoft/smartyoutubetv2/tv/util/ViewUtil.java @@ -103,19 +103,12 @@ public class ViewUtil { } public static void applyMarqueeRtlParams(TextView textView, boolean scroll) { - //if (VERSION.SDK_INT <= 17) { - // return; - //} - - //if (!BidiFormatter.getInstance().isRtlContext()) { - // return; - //} - if (!Helpers.isTextRTL(textView.getText())) { // TextView may be reused from rtl context. Do reset. // NOTE: don't enable commented options because Setting item's text won't be centered. //textView.setTextAlignment(View.TEXT_ALIGNMENT_GRAVITY); - textView.setTextDirection(TextView.TEXT_DIRECTION_FIRST_STRONG); + textView.setTextDirection(View.TEXT_DIRECTION_LTR); + textView.setLayoutDirection(View.LAYOUT_DIRECTION_LTR); //textView.setGravity(Gravity.TOP | Gravity.START); return; } @@ -124,7 +117,8 @@ public class ViewUtil { // Fix: right scrolling on rtl languages // Fix: text disappear on rtl languages textView.setTextAlignment(View.TEXT_ALIGNMENT_VIEW_END); - textView.setTextDirection(TextView.TEXT_DIRECTION_RTL); + textView.setTextDirection(View.TEXT_DIRECTION_RTL); + textView.setLayoutDirection(View.LAYOUT_DIRECTION_RTL); textView.setGravity(Gravity.START); } else { // Fix: text disappear on rtl languages