Home » Android » Horizontal scrolling text in Android

Horizontal scrolling text in Android

Posted by: admin May 14, 2020 Leave a comment

Questions:

I’ve been looking around for quite some time now, and I can’t get a straight answer for my question.

It’s quite simple: How can I get a nice scrolling text just like the long app names in the Market when you select an application?

How to&Answers:

I’ve figured it out by myself.

android:ellipsize="marquee"
android:scrollHorizontally="true"
android:focusable="true"
android:focusableInTouchMode="true"

Answer:

Make a translate animation in your anim folder like:

<translate xmlns:android="http://schemas.android.com/apk/res/android"
    android:duration="12000"
    android:fromXDelta="100"
    android:interpolator="@android:anim/linear_interpolator"
    android:repeatCount="infinite"
    android:repeatMode="restart"
    android:toXDelta="-100" />

And then to your textview like:

yourtextview.startAnimation((Animation)AnimationUtils.loadAnimation(Context,R.anim.youranim_xml));

Hope this might help you.

Edit:

Try this:

<TextView 
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ellipsize="marquee"
android:fadingEdge="horizontal"
android:lines="1"
android:marqueeRepeatLimit="marquee_forever"
android:padding="4dp"
android:scrollHorizontally="true"
android:singleLine="true"
android:text="Simple application that shows how to use marquee, with a long text" />

Answer:

the decision which works for me:

textView.setSelected(true); 
textView.setEllipsize(TruncateAt.MARQUEE);
textView.setSingleLine(true);

without focusable’s parameters

Answer:

android:ellipsize="marquee"

Answer:

  1. Use a normal TextView with the following config:

    android:text="your text here"
    android:id="@+id/MarqueeText"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:singleLine="true"
    android:ellipsize="marquee"
    android:scrollHorizontally="true"
    android:focusable="true"
    android:focusableInTouchMode="true" />
    

The problem with this is that you cannot adjust the speed of the scrolling text.

  1. Enclose a TextView within a ScrollView:
    <ScrollView
        android:layout_width="match_parent"
        android:layout_height="wrap_content">
            <TextView
            android:id="@+id/myTextView"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="Your Text here" >
        </TextView>
    </ScrollView>
  1. Create custom class and follow this thread