Android的ListView弹动效果

Posted 叫我什么大人

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android的ListView弹动效果相关的知识,希望对你有一定的参考价值。

继承ListView,重写overScrollBy方法,调用super.overScrollBy()方法,替换maxOverScrollY参数

import android.content.Context;  
import android.util.AttributeSet;  
import android.util.DisplayMetrics;  
import android.widget.ListView;  
/** 
 * 弹性ListView。 
 * @author E 
 */  
public class FlexiListView extends ListView{  
    //初始可拉动Y轴方向距离  
    private static final int MAX_Y_OVERSCROLL_DISTANCE = 100;  
    //上下文环境  
    private Context mContext;  
    //实际可上下拉动Y轴上的距离  
    private int mMaxYOverscrollDistance;  
      
    public FlexiListView(Context context){  
        super(context);  
        mContext = context;  
        initBounceListView();  
    }  
      
    public FlexiListView(Context context, AttributeSet attrs) {  
        super(context, attrs);  
        mContext = context;  
        initBounceListView();  
    }  
      
    public FlexiListView(Context context, AttributeSet attrs, int defStyle) {  
        super(context, attrs, defStyle);  
        mContext = context;  
        initBounceListView();  
    }  
      
    private void initBounceListView(){  
        final DisplayMetrics metrics = mContext.getResources().getDisplayMetrics();  
            final float density = metrics.density;  
        mMaxYOverscrollDistance = (int) (density * MAX_Y_OVERSCROLL_DISTANCE);  
    }  
      
    @Override  
    protected boolean overScrollBy(int deltaX, int deltaY, int scrollX, int scrollY, int scrollRangeX,   
            int scrollRangeY, int maxOverScrollX, int maxOverScrollY, boolean isTouchEvent) {   
        //实现的本质就是在这里动态改变了maxOverScrollY的值  
        return super.overScrollBy(deltaX, deltaY, scrollX, scrollY, scrollRangeX, scrollRangeY, maxOverScrollX, mMaxYOverscrollDistance, isTouchEvent);    
    }  
      
}

 

以上是关于Android的ListView弹动效果的主要内容,如果未能解决你的问题,请参考以下文章

片段中ListView的android自定义适配器

Android App 在片段中创建 ListView 引用时关闭

Listview 项目未在 Fragment Android 中显示

Android:滚动整个片段,里面有 ListView

canvas弹动2

如何在android中去listview适配器项目点击监听器片段?