XML
--------------------------------------------------------
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" > <slider.app.com.smoothviewpager.AutoScrollableTextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="This is very very long text to be scrolled, This is very very long text to be scrolled, This is very very long text to be scrolled" /></LinearLayout>
-----------------------------------------------------------
JAVA
------------------------------------------------------------------
import android.content.Context;import android.graphics.Rect;import android.text.TextUtils;import android.util.AttributeSet; public class AutoScrollableTextView extends android.support.v7.widget.AppCompatTextView { public AutoScrollableTextView(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); setEllipsize(TextUtils.TruncateAt.MARQUEE); setMarqueeRepeatLimit(-1); setSingleLine(); setHorizontallyScrolling(true); } public AutoScrollableTextView(Context context, AttributeSet attrs) { super(context, attrs); setEllipsize(TextUtils.TruncateAt.MARQUEE); setMarqueeRepeatLimit(-1); setSingleLine(); setHorizontallyScrolling(true); } public AutoScrollableTextView(Context context) { super(context); setEllipsize(TextUtils.TruncateAt.MARQUEE); setMarqueeRepeatLimit(-1); setSingleLine(); setHorizontallyScrolling(true); } @Override protected void onFocusChanged(boolean focused, int direction, Rect previouslyFocusedRect) { if(focused) super.onFocusChanged(focused, direction, previouslyFocusedRect); } @Override public void onWindowFocusChanged(boolean focused) { if(focused) super.onWindowFocusChanged(focused); } @Override public boolean isFocused() { return true; } }
-------------------------------------------------------------------------
22