博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
类似微信首页弹性滚动和惯性滚动效果的实现——OverScroll
阅读量:5873 次
发布时间:2019-06-19

本文共 1628 字,大约阅读时间需要 5 分钟。

OverScroll

利用CoordinatorLayout+Behavior实现列表弹性滚动和惯性滚动效果(类似微信首页),支持水平和垂直方向的滚动,效果如下:

Usage 用法

Gradle

allprojects {    repositories {        ...        maven { url 'https://jitpack.io' }    }} dependencies {    implementation 'com.github.1993hzw:OverScroll:1.1.1'}复制代码

在xml布局文件中添加类似代码:

...
...
复制代码

当然你可以在CoordinatorLayout中使用OverScrollHorizontalRecyclerView, OverScrollVerticalRecyclerViewOverScrollScrollView

现在你的布局就实现了弹性滚动和惯性滚动效果啦!

拓展

你还可以拓展该控件以实现更复杂的交互效果,设置 或者添加 .

IOverScrollView overScrollView = findViewById(R.id.overscroll_view);overScrollView.setOverScrollCallback(new IOverScrollCallback() {    @Override    public boolean canScroll(IOverScroll overScroll, View child, int scrollDirection) {       ...    }    @Override    public int getMaxFlingOffset(IOverScroll overScroll, View child, int scrollDirection) {        ...    }    @Override    public float getDampingFactor(IOverScroll overScroll, View child, int scrollDirection) {        ...    }    @Override    public int getMinFlingVelocity(IOverScroll overScroll, View child, int scrollDirection) {        ...    }    @Override    public void onOffsetChanged(IOverScroll overScroll, View child, int offset) {        ...    }    @Override    public boolean onSpringBack(IOverScroll overScroll, View child) {        ...    }    @Override    public void onStopSpringingBack(IOverScroll overScroll, View child) {        ...    }});overScrollView.addOffsetChangeListener(new IOffsetChangeListener() {    @Override    public void onOffsetChanged(View child, int offset) {        ...    }});复制代码

(默认IOverScrollCallback接口的实现为)

项目地址

多谢支持我的!

转载地址:http://itenx.baihongyu.com/

你可能感兴趣的文章
mvc请求过程总结
查看>>
Y2161 Hibernate第三次考试 2016年8月18日 试卷分析
查看>>
图像超分辨率(Super-Resolution)技术研究
查看>>
[转] js中的钩子机制(hook)
查看>>
多线程 并发编程(一)
查看>>
CSS属性特性
查看>>
Angular CLI 使用教程指南参考
查看>>
html5 css多列布局
查看>>
android 时间格式 各种转换
查看>>
GDB笔记
查看>>
图像处理之基础---图像高效不失真缩放既卷积应用
查看>>
JS 相等判断 / 类型判断
查看>>
Web项目启动加载数据至内存--SpringApplicationListener实现
查看>>
Acey.ExcelX4.2版本发布
查看>>
修改支付宝账号的授权方式
查看>>
SET ROWCOUNT
查看>>
NOIP2015DAY2T2子串
查看>>
PHP 程序员的技术成长规划
查看>>
美国插画家Mike Bear作品欣赏
查看>>
zookeeper源码 — 一、单机启动
查看>>