Giter VIP home page Giter VIP logo

pulltorefreshandload's Introduction

PullToRefreshAndLoad

Android下拉刷新上拉加载控件,对所有View通用! 这是一个演示如何使用通用的下拉刷新上拉加载控件demo,demo中已经实现了常见的需要上下拉功能的控件,其他控件如果需要加入这两个功能可自行扩展,实现Pullable接口即可, 具体的实现原理分析可以参见我的博客http://blog.csdn.net/zhongkejingwang/article/details/38868463 ##demo截图 ###demo首页也是一个可以上拉下拉的ListView demo首页 ###ListView: ListView ###GridView: GridView ###ExpandableListView: ExpandableListView ###ScrollView: ScrollView ###WebView: WebView ###ImageView: ImageView ###TextView: TextView

pulltorefreshandload's People

Contributors

jingchenustc avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

pulltorefreshandload's Issues

正在刷新的时候有点问题

   比如下拉刷新,现在的状态是正在加载,然后你把listview往上移动一点,它会把整个headview都往上移动,直到整个headview看不见。现在是正在加载状态,而且headview都看不见,我想下拉出headview,只能一下子把整个headview拉出来才会固定显示headview,只拉出一部分headview就会自动复原成看不见headview的状态。
   我觉得应该是这样的:如果是正在加载的状态,headview应该相当于listview的一个item,能跟着listview一块走,想显示多少就显示多少,最后加载完成之后隐藏headview。
   上拉刷新也是同样的感觉。

事件传递

我一直在研究一个通用的 上下拉,并且写了个半成品,
通用的 pulllayout,在下拉后,往上推的时候会把下面的 footerview带上来,而不是向上滑动,没想到你已经做好了,而且支持多指滑动,这一点很好,赞一个,基本实现了我想实现的所有功能,
不过,
1: 自动加载? 有没有那种滑动到底部时有个自动加载的 layout 提示"点击加载更多",并且可以上拉加载
2:当你连续下拉然后不要松手,再连续上拉,当头快消失时,是不能滑动的,而qq 的是可以 继续滑动到底部然后连续上拉, 他的事件是可传递的,
而我们楼主这种通用的控件估计很难实现,事件传递估计无法实现,qq那种应该是其它的方法,而不是通过3个view的方法
当然,楼主已经很牛逼了

自动刷新autoRefresh在部分机型上动画有问题

autoRefresh在三星机型上动画正常,不过运行在miui系统上存在下拉动画卡顿的问题,分析到的主要出在AutoRefreshAndLoadTask中,具体代码块:
@OverRide
protected String doInBackground(Integer... params) {
while (pullDownY < 4 / 3 * refreshDist) {
pullDownY += MOVE_SPEED;
publishProgress(pullDownY);
try {
Thread.sleep(params[0]);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
return null;
}
这里的 Thread.sleep(params[0]);用来防止下拉动画在一瞬间加载完成,传入值是20,但是在miui机型上,我将该值修改为1,自动下拉动画仍存在一卡一卡的卡顿问题,而在其他系统上,该值如果为1,动画在进入的一瞬间就已经加载完成

Memory Leak

device-2016-04-18-142043

PullToRefreshLayout$MyTimer$MyTask.handler

下拉刷新异常

如果控件 处在正在刷新的 状态下,我可以把 你那个控件 给推上去。不知道作者能不能明白。。。

ScrollView下拉刷新和轮播图有事件冲突

建议添加下拉刷新的一个最小高度,但是还是有冲突,因为执行方法在dispatchTouchEvent里面调用,这样解决不了,可能滑动轮播图一半后,斜着下滑,下拉刷新就会响应,望博主能够解决,感谢!

改进建议

你好,建议加入滑动到底部,自动加载下一页的功能,现在很多软件都有这样的功能

多页面侧滑时有问题

ViewPager+TabLayout实现多页面侧滑,侧滑时可能导致下拉头或上拉头暴露出来而不能自动回弹,看源码应该是没有对左右滑动的处理

canPullDown这个实现的方法有问题

@Override
public boolean canPullDown()
{
    if (getCount() == 0)
    {
        // 没有item的时候也可以下拉刷新
        return true;
    } else if (“--————-getFirstVisiblePosition() == 0
            && getChildAt(0).getTop() >= 0---——————”)
    {
        // 滑到ListView的顶部了
        return true;
    } else
        return false;
}

else if中,横线之间的部分没有做非空处理,有空指针异常!!!!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.