有没有一种方法可以禁用Android ListView动画?

8
当我们将一个ListView拖到底部或顶部时,总是可以再拖一点,这时它会显示一个空白背景,然后释放后ListView会反弹。这是ListView的默认动画效果。
我想禁用这个动画效果。
4个回答

12

这可能有效。创建一个新的类,其中包含以下内容。

import android.view.View;

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

然后在你的代码中,

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

更多详情请参考:http://jasonfry.co.uk/?id=30


10
在您的XML中添加属性。
android:overScrollMode="never"

3

谢谢提供链接。但是我的应用程序基于Android 1.6。您知道在1.6下是否有解决方案吗? - Xi 张熹

2

对于旧版本的API < 9,请考虑以下方法:

@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);
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接