Implement scrolling title on now playing and general media info screens
This commit is contained in:
parent
4dda3ac6e8
commit
ce210e9683
|
@ -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());
|
||||
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -178,6 +178,10 @@
|
|||
<item name="android:paddingTop">@dimen/small_padding</item>
|
||||
<item name="android:paddingBottom">@dimen/small_padding</item>
|
||||
<item name="android:maxLines">2</item>
|
||||
<item name="android:ellipsize">marquee</item>
|
||||
<item name="android:marqueeRepeatLimit">marquee_forever</item>
|
||||
<item name="android:focusable">true</item>
|
||||
<item name="android:focusableInTouchMode">true</item>
|
||||
</style>
|
||||
|
||||
<style name="TextAppearance.Media.Subtitle">
|
||||
|
|
Loading…
Reference in New Issue