有没有办法禁用Android ListView动画?

时间:2011-04-25 13:32:43

标签: android listview

当我们将ListView拖到末尾或顶部时,我们可以将它拖得更远,它会显示空白背景,然后当我们释放它时,ListView会反弹回来。这是ListView的默认动画效果。

我想禁用此动画效果。

4 个答案:

答案 0 :(得分:11)

这可能有用。创建一个包含以下内容的新类。

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

答案 1 :(得分:9)

在xml中添加属性

android:overScrollMode="never"

答案 2 :(得分:2)

答案 3 :(得分:1)

对于旧版本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);
}