PullToRefreshView优化

PulltoRefreshview是我在CSDN上下的,据说来源是这里,这里简单说明下 http://gundumw100.iteye.com/blog/1764763

这个控件支持多种控件的上啦下拉事件,非常不错,但同时也有一些缺点,需要进行优化

优化1,添加上拉与下拉开关,当我们不需要上拉下拉的时候屏蔽事件

在类中申明变量

	private ActivityHelper mhelper;//自定义的类,主要用于分辨率转换等操作
	private boolean canpulltoload=false,canpulltore=false;//定义变量,控制上拉下拉开关
<span style="white-space:pre">	</span>//定义set get方法
<span style="white-space:pre">	</span>public void setCanpulltoload(boolean canpulltoload) {
<span style="white-space:pre">		</span>this.canpulltoload = canpulltoload;
<span style="white-space:pre">	</span>}




<span style="white-space:pre">	</span>public void setCanpulltore(boolean canpulltore) {
<span style="white-space:pre">		</span>this.canpulltore = canpulltore;
<span style="white-space:pre">	</span>}
<span style="white-space:pre">	</span>//修改onTouchEvent中的<pre name="code" class="java"><span>	</span>//<span>ACTION_MOVE</span>方法 实现加载开关

 
<span style="white-space:pre">	case MotionEvent.ACTION_MOVE:
<span style="white-space:pre">			</span>int deltaY = y - mLastMotionY;
<span style="white-space:pre">			</span>if (mPullState == PULL_DOWN_STATE&&canpulltore) {//执行下拉
<span style="white-space:pre">				</span>headerPrepareToRefresh(deltaY);
<span style="white-space:pre">				</span>// setHeaderPadding(-mHeaderViewHeight);
<span style="white-space:pre">			</span>} else if (mPullState == PULL_UP_STATE&&canpulltoload) {//执行上拉
<span style="white-space:pre">				</span>footerPrepareToRefresh(deltaY);
<span style="white-space:pre">			</span>}
<span style="white-space:pre">			</span>mLastMotionY = y;
<span style="white-space:pre">			</span>break;</span>
</pre></p><p></p>优化2 ,修改事件判定,防止内容无法点击<p>在使用该控件的过程中,发现在高分屏中,很难点击内容的情况</p><p>解决方案</p><p>修改判定条件,</p><p>修改方法isRefreshViewScroll</p><p><pre name="code" class="html">
deltaY >0修改为
deltaY >  mhelper.convertDpToPixel(10, context)
同理
deltaY<0修改为
deltaY < - mhelper.convertDpToPixel(10, context)

经过测试问题解决





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值