2011-04-25 23 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" 
相關問題