Friday, 8 December 2017

AutoScrollable TextView






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