Android悬浮购买框效果优化:仿美团、大众点评修改版
134 浏览量
更新于2024-09-01
收藏 164KB PDF 举报
"这篇文章除了介绍如何在Android中实现类似美团网和大众点评的购买框悬浮效果的修改版,还提到了作者在先前实现过程中遇到的问题以及解决方法。作者原先使用ScrollView滚动监听和Handler来获取Y值,但在快速滑动时出现卡顿和布局重叠的问题。在尝试了ScrollingTricks库后,虽然找到了更接近原生效果的解决方案,但该库仅支持API11及以上版本,限制了兼容性。因此,作者决定自己修改并优化了这一效果,简化了实现方式。文章提供了一个自定义的MyScrollView类,通过在onScrollChanged()方法中直接获取滚动的Y值来改进监听机制。"
文章详细介绍了如何创建一个自定义的ScrollView子类——MyScrollView,该类包含一个OnScrollListener接口,允许开发者监听ScrollView的滚动事件。代码示例展示了如何在MyScrollView的构造函数中初始化,并提供了设置监听器的方法:
```java
public class MyScrollView extends ScrollView {
private OnScrollListener onScrollListener;
public MyScrollView(Context context) {
this(context, null);
}
public MyScrollView(Context context, AttributeSet attrs) {
this(context, attrs, 0);
}
public MyScrollView(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
}
/
* 设置滚动接口
* @param onScrollListener
*/
public void setOnScrollListener(OnScrollListener onScrollListener) {
this.onScrollListener = onScrollListener;
}
// 其他代码...
@Override
protected void onScrollChanged(int l, int t, int oldl, int oldt) {
super.onScrollChanged(l, t, oldl, oldt);
if (onScrollListener != null) {
onScrollListener.onScroll(l, t, oldl, oldt);
}
}
}
```
这里定义了一个自定义的OnScrollListener接口:
```java
public interface OnScrollListener {
void onScroll(int l, int t, int oldl, int oldt);
}
```
开发者可以通过实现这个接口并在需要的地方调用setOnScrollListener()方法来获取滚动事件,从而避免了使用Handler带来的复杂性和可能的问题。
通过这种方式,作者实现了在不依赖第三方库且保持良好性能的情况下,对ScrollView滚动事件的监听,以达到类似美团和大众点评的购买框悬浮效果。这种方法对于希望在较低API级别上实现类似功能的开发者来说是很有帮助的。文章的代码示例清晰易懂,有助于读者理解和应用到自己的项目中。
5495 浏览量
2019-07-10 上传
2019-08-07 上传
2013-07-18 上传
3975 浏览量
点击了解资源详情
2013-07-27 上传
2017-12-08 上传
329 浏览量
weixin_38518668
- 粉丝: 4
- 资源: 984
最新资源
- IEEE 14总线系统Simulink模型开发指南与案例研究
- STLinkV2.J16.S4固件更新与应用指南
- Java并发处理的实用示例分析
- Linux下简化部署与日志查看的Shell脚本工具
- Maven增量编译技术详解及应用示例
- MyEclipse 2021.5.24a最新版本发布
- Indore探索前端代码库使用指南与开发环境搭建
- 电子技术基础数字部分PPT课件第六版康华光
- MySQL 8.0.25版本可视化安装包详细介绍
- 易语言实现主流搜索引擎快速集成
- 使用asyncio-sse包装器实现服务器事件推送简易指南
- Java高级开发工程师面试要点总结
- R语言项目ClearningData-Proj1的数据处理
- VFP成本费用计算系统源码及论文全面解析
- Qt5与C++打造书籍管理系统教程
- React 应用入门:开发、测试及生产部署教程