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