Android:ListView优化之具有弹性的ListView

来源:互联网 发布:我的世界手机版死神js 编辑:程序博客网 时间:2024/06/05 20:45

不需要复杂的自定义View

不需要增加HeadView 

不需要ScrollView嵌套

重写Listveiw下面这个方法:

protected boolean overScrollBy(int deltaX, int deltaY, int scrollX,int scrollY, int scrollRangeX, int scrollRangeY,int maxOverScrollX, int maxOverScrollY, boolean isTouchEvent)

这个方法是控制滑动到边缘的处理方法,其中maxOverScrollY的默认值为0,,将其修改ListView就会就有弹性:

@Overrideprotected boolean overScrollBy(int deltaX, int deltaY, int scrollX,int scrollY, int scrollRangeX, int scrollRangeY,int maxOverScrollX, int maxOverScrollY, boolean isTouchEvent) {// TODO Auto-generated method stubreturn super.overScrollBy(deltaX, deltaY, scrollX, scrollY, scrollRangeX,scrollRangeY, maxOverScrollX, mMaxOverScrollY, isTouchEvent);}


注意这个值的适配,达到不同分辨率弹性的距离基本一致:

private void initMaxOverScrollY(Context context){DisplayMetrics displayMetrics = context.getResources().getDisplayMetrics();float density = displayMetrics.density;mMaxOverScrollY = (int)(density * mMaxOverScrollY);}

---------------------

每天进步一点点

----------------------



0 0
原创粉丝点击