下拉回弹

Android新姿势:可以下拉/上拉回弹的ListView原理

徘徊边缘 提交于 2019-12-11 11:23:30
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 现在的应用基本都有用到这种ListView,打开QQ看到的消息列表就是了,下拉可以刷新,拉到底部还可以上拉,虽然没什么用,不过无聊的时候我就会去那里拉几下。。。 首先,android原生的ListView是没有这种上拉下拉效果的,所以这些可以下拉的ListView都是自定义的控件。 接下来讲一下原理:其实就是设置padding值啦~通过监听触摸的位置,动态改变ListView的padding值来达到被拉动的效果。 网上关于下拉ListView的文章还是挺多的,可以去查查,我就按原理做了个简单的ListView,可以下拉和上拉,但没做下拉刷新功能。也许你会问“没有下拉刷新那这个ListView有什么用啊?”,没错,这个LIstView确实没啥用,只能让人无聊时拉几下。。。不过我们今天只是为了了解原理,不用去在意这些细节啦~ 下面贴代码: /** * 可以下拉回弹和上拉回弹的ListView,但没有下拉刷新和上拉加载更多的功能 * bug:在拖动过程中如果到达最顶或最底,再继续拖动的话会突然变了位置,体验不好 * @author linin */ public class XListViewSimple extends ListView implements OnScrollListener { private