From ce210e9683c8dd15d4d18bbf1fb816ae52817892 Mon Sep 17 00:00:00 2001 From: ssaqua Date: Mon, 15 Apr 2019 20:31:21 +1200 Subject: [PATCH] Implement scrolling title on now playing and general media info screens --- .../org/xbmc/kore/ui/AbstractInfoFragment.java | 16 ++++++++++++++++ .../ui/sections/remote/NowPlayingFragment.java | 16 ++++++++++++++++ app/src/main/res/values/styles.xml | 4 ++++ 3 files changed, 36 insertions(+) diff --git a/app/src/main/java/org/xbmc/kore/ui/AbstractInfoFragment.java b/app/src/main/java/org/xbmc/kore/ui/AbstractInfoFragment.java index 1a26854..2a88112 100644 --- a/app/src/main/java/org/xbmc/kore/ui/AbstractInfoFragment.java +++ b/app/src/main/java/org/xbmc/kore/ui/AbstractInfoFragment.java @@ -35,6 +35,7 @@ import android.support.v4.app.FragmentManager; import android.support.v4.content.ContextCompat; import android.support.v4.widget.NestedScrollView; import android.support.v4.widget.SwipeRefreshLayout; +import android.support.v4.widget.TextViewCompat; import android.text.TextUtils; import android.util.DisplayMetrics; import android.view.LayoutInflater; @@ -374,6 +375,21 @@ abstract public class AbstractInfoFragment extends AbstractFragment @SuppressLint("StringFormatInvalid") protected void updateView(DataHolder dataHolder) { titleTextView.setText(dataHolder.getTitle()); + titleTextView.post(new Runnable() { + @Override + public void run() { + int lines = titleTextView.getLineCount(); + int maxLines = TextViewCompat.getMaxLines(titleTextView); + if (lines > maxLines) { + titleTextView.setHorizontallyScrolling(true); + titleTextView.setClickable(true); + titleTextView.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { v.setSelected(!v.isSelected()); } + }); + } + } + }); underTitleTextView.setText(dataHolder.getUnderTitle()); detailsRightTextView.setText(dataHolder.getDetails()); diff --git a/app/src/main/java/org/xbmc/kore/ui/sections/remote/NowPlayingFragment.java b/app/src/main/java/org/xbmc/kore/ui/sections/remote/NowPlayingFragment.java index e52d250..9e4ebcc 100644 --- a/app/src/main/java/org/xbmc/kore/ui/sections/remote/NowPlayingFragment.java +++ b/app/src/main/java/org/xbmc/kore/ui/sections/remote/NowPlayingFragment.java @@ -20,6 +20,7 @@ import android.content.res.Resources; import android.os.Bundle; import android.os.Handler; import android.support.v4.app.Fragment; +import android.support.v4.widget.TextViewCompat; import android.text.TextUtils; import android.util.DisplayMetrics; import android.view.LayoutInflater; @@ -752,6 +753,21 @@ public class NowPlayingFragment extends Fragment } mediaTitle.setText(title); + mediaTitle.post(new Runnable() { + @Override + public void run() { + int lines = mediaTitle.getLineCount(); + int maxLines = TextViewCompat.getMaxLines(mediaTitle); + if (lines > maxLines) { + mediaTitle.setHorizontallyScrolling(true); + mediaTitle.setClickable(true); + mediaTitle.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { v.setSelected(!v.isSelected()); } + }); + } + } + }); mediaUndertitle.setText(underTitle); mediaProgressIndicator.setOnProgressChangeListener(this); diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml index 61d27d7..6b30c66 100644 --- a/app/src/main/res/values/styles.xml +++ b/app/src/main/res/values/styles.xml @@ -178,6 +178,10 @@ @dimen/small_padding @dimen/small_padding 2 + marquee + marquee_forever + true + true