前幾天網友yufengzungzhe@163.com指出PullToRefreshView的一個bug.當時麥洛尚未注意到,如今麥洛已經利用修復了.其實解這個bug也不難.google
只要在下面這個方法作一點小小的控制,就能夠了spa
private int changingHeaderViewTopMargin(int deltaY) { LayoutParams params = (LayoutParams) mHeaderView.getLayoutParams(); float newTopMargin = params.topMargin + deltaY * 0.3f; //這裏對上拉作一下限制,由於當前上拉後而後不釋放手指直接下拉,會把下拉刷新給觸發了,感謝網友yufengzungzhe的指出 //表示若是是在上拉後一段距離,而後直接下拉 if(deltaY>0&&mPullState == PULL_UP_STATE&&Math.abs(params.topMargin) =mHeaderViewHeight){ return params.topMargin; } params.topMargin = (int) newTopMargin; mHeaderView.setLayoutParams(params); invalidate(); return params.topMargin; }
再次感謝yufengzungzhe@163.com網友的提示,googlecode上的代碼已經更新.code