2011-04-25 26 views
7

当我们拖动一个ListView到最后或顶部时,我们可以随时拖动它进一步,它会显示一个空白背景,然后当我们释放它时,ListView会反弹回来。这是ListView的默认动画效果。有没有办法禁用Android ListView动画?

我想禁用这种动画效果。

回答

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

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

在XML添加属性

android:overScrollMode="never" 
相关问题