Home » Android » Is there a way to disable Android ListView animation?

Is there a way to disable Android ListView animation?

Posted by: admin June 15, 2020 Leave a comment

Questions:

When we drag a ListView to the end or to the top, we can always drag it a little further and it will show a blank background, then when we release it the ListView will bounce back. It’s a default animation effect of ListView.

I would like to disable this animation effect.

How to&Answers:

This may work. Create a new class that contains the following.

import android.view.View;

public class OverScrollDisabler
{
    public static void disableOverScroll(View view)
    {
        view.setOverScrollMode(View.OVER_SCROLL_NEVER);
    }
}

Then within your code,

if(Build.VERSION.SDK_INT >= 9)
{
    OverScrollDisabler.disableOverScroll(myView);
}

More details here: http://jasonfry.co.uk/?id=30

Answer:

In your xml add the attribute

android:overScrollMode="never"

Answer:

http://developer.android.com/reference/android/widget/AbsListView.html#setOverScrollMode(int)

Answer:

For older versions api < 9 consider:

@Override
public boolean dispatchTouchEvent(MotionEvent ev)
{
    int action = ev.getAction();


    if (action == MotionEvent.ACTION_MOVE) {
        ev.setAction(MotionEvent.ACTION_CANCEL);
        super.dispatchTouchEvent(ev);
        return true;
    }       

    return super.dispatchTouchEvent(ev);
}