PullToRefreshScrollView中没有smoothScrollTo方法;也不能直接使用onScrollChange()方法; 不过这个不难解决,我们可以通过scrollView = mPullRefreshScrollView.getRefreshableView();获取被包裹的Scrollview,然后利用这个Scrollview可以直接调用smoothScrollTo方法;
另外,可以写一个接口scrollViewListener,接口写一个方法,在PullToRefreshScrollview的类里面重写onScrollChange()方法,如下图@Override public void onScrollChanged(int l, int t, int oldx, int oldy) { super.onScrollChanged(l, t, oldx, oldy); if (scrollViewListener != null) { scrollViewListener.onScrollChanged(PullToRefreshScrollView.this, l, t, oldx, oldy); } } 在使用pullToRefreshScrollview的activity或者是fragment里面实现该接口,重写方法如此,在这个下拉刷新的Scrollview里面就可以使用上面的两个方法;@Override public void onScrollChanged(PullToRefreshScrollView scrollView, int x, int y, int oldx, int oldy) { // 滑动监听 }
接下来再来说下拉刷新和上拉加载;mPullRefreshScrollView.getLoadingLayoutProxy().setLastUpdatedLabel("上次刷新时间");mPullRefreshScrollView.getLoadingLayoutProxy().setReleaseLabel( "松开即可刷新");// 上拉、下拉设定 mPullRefreshScrollView.setMode(PullToRefreshBase.Mode.BOTH);// scrollview的上拉和下拉监听 mPullRefreshScrollView.setOnRefreshListener(new PullToRefreshBase.OnRefreshListener2<ScrollView>() { @Override public void onPullDownToRefresh(PullToRefreshBase<ScrollView> refreshView) { // 下拉加载 } @Override public void onPullUpToRefresh(PullToRefreshBase<ScrollView> refreshView) { // 上拉刷新 } });另外里面要是嵌套了listview那么需要重写listview,方法比较多,网上看下就行;例如重新设置高度
android下拉刷新scrollview的用法pullToRefreshScrollview
最新推荐文章于 2024-09-07 09:47:05 发布