转载—— android 瀑布流的实现详解,附源码
介绍
参考自:https://github.com/dodola/android_waterfall,因为原来的代码封装不好,所以,我根据源码的思路,重新写了一遍,所以有了现在这个项目:https://github.com/youxilua/waterfall4android
原作者表示:
试过在1万张可以流畅的滑动,不出现内存溢出情况
设计思路

之前的作者的自定义view 只有主滑动一层,其他的设置要在相应的活动设置,个人觉得,重用起来比较麻烦,所以决定封装一层.现在定义一个默认的瀑布流只需5步,以下为源码示意,具体,看源码...
//1 初始化waterfall
waterfall_scroll = (WaterFallView) findViewById(R.id.waterfall_scroll);
//2 初始化显示容器
waterfall_container = (LinearLayout) findViewById(R.id.waterfall_container);
//3,设置滚动监听
waterfall_scroll.setOnScrollListener(this);
//4,实例一个设置
WaterFallOption fallOption = new WaterFallOption(waterfall_container, 每列宽度, 列数);
//5,提交更改,实现android瀑布流
waterfall_scroll.commitWaterFall(fallOption, waterfall_scroll);
最后不要忘了监听滚动到底部的监听
@Override public void onBottom() { AddItemToContainer(++(waterfall_scroll.current_page), waterfall_scroll.pageCount); }
已知bug
这里出现的bug,原来的也有...
- 滚动过快,导致部分图片无法显示
功能加强
- 实现支持URL的方式加载图片
作者:游戏阿柴 出处:http://www.cnblogs.com/youxilua 本文采用知识共享署名-非商业性使用-相同方式共享 2.5 中国大陆许可协议进行许可,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接。 微博联系:新浪微博 用支付宝赞助博主:http://me.alipay.com/youxilua
转载—— android 瀑布流的实现详解,附源码的更多相关文章
- 【转载】Android应用AsyncTask处理机制详解及源码分析
[工匠若水 http://blog.csdn.net/yanbober 转载烦请注明出处,尊重分享成果] 1 背景 Android异步处理机制一直都是Android的一个核心,也是应用工程师面试的一个 ...
- Android应用AsyncTask处理机制详解及源码分析
1 背景 Android异步处理机制一直都是Android的一个核心,也是应用工程师面试的一个知识点.前面我们分析了Handler异步机制原理(不了解的可以阅读我的<Android异步消息处理机 ...
- struts2内置拦截器和自定义拦截器详解(附源码)
一.Struts2内置拦截器 Struts2中内置类许多的拦截器,它们提供了许多Struts2的核心功能和可选的高级特 性.这些内置的拦截器在struts-default.xml中配置.只有配置了拦截 ...
- C# Socket-TCP异步编程原理详解附源码
目录 目录异步原理主要方法源码Server源码:Client源码实验效果(广播为例)参考博客 TOC 异步原理 套接字编程原理:延续文件作用思想,打开-读写-关闭的模式. C/S编程模式如下: Ø 服 ...
- 基于双向BiLstm神经网络的中文分词详解及源码
基于双向BiLstm神经网络的中文分词详解及源码 基于双向BiLstm神经网络的中文分词详解及源码 1 标注序列 2 训练网络 3 Viterbi算法求解最优路径 4 keras代码讲解 最后 源代码 ...
- 详解 QT 源码之 Qt 事件机制原理
QT 源码之 Qt 事件机制原理是本文要介绍的内容,在用Qt写Gui程序的时候,在main函数里面最后依据都是app.exec();很多书上对这句的解释是,使 Qt 程序进入消息循环.下面我们就到ex ...
- SpringBoot之DispatcherServlet详解及源码解析
在使用SpringBoot之后,我们表面上已经无法直接看到DispatcherServlet的使用了.本篇文章,带大家从最初DispatcherServlet的使用开始到SpringBoot源码中Di ...
- Java SPI机制实战详解及源码分析
背景介绍 提起SPI机制,可能很多人不太熟悉,它是由JDK直接提供的,全称为:Service Provider Interface.而在平时的使用过程中也很少遇到,但如果你阅读一些框架的源码时,会发现 ...
- Spring Boot启动命令参数详解及源码分析
使用过Spring Boot,我们都知道通过java -jar可以快速启动Spring Boot项目.同时,也可以通过在执行jar -jar时传递参数来进行配置.本文带大家系统的了解一下Spring ...
随机推荐
- 微信JS-SDK应用DEMO
首先需要将以下函数写入TinkPHP的公用function.php文件中以便调用 // 基于ThinkPHP /** * php curl 请求链接 * 当$post_data为空时使用GET方式发送 ...
- Bootstrap中文参考手册
Bootstrap是推出的一个开源的用于前端开发的工具包.它由Twitter的设计师Mark Otto和Jacob Thornton合作开发,是一个CSS/HTML框架.Bootstrap提供了优雅的 ...
- 另一个分区工具GNU的parted[转自vbird]
利用 GNU 的 parted 进行分割行为 虽然你可以使用 fdisk 很快速的将你的分割槽切割妥当,不过 fdisk 却无法支持到高于 2TB 以上的分割槽! 此时就得需要 parted 来处理了 ...
- C++ little errors , Big problem
---------------------------------------------------------------------------------------------------- ...
- Spark 优化器 ML的论文
http://people.csail.mit.edu/matei/papers/2015/sigmod_spark_sql.pdf http://www.vldb.org/pvldb/vol4/p5 ...
- DATA GUARD架构(一)
Data Guard传输-应用架构.>图1-1 ------------------------------------------------------------ 重做传输架构>图1 ...
- CentOS如何挂载硬盘
远程SSH登录上CentOS服务器后,进行如下操作 提醒:挂载操作会清空数据,请确认挂载盘无数据或者未使用 第一步:列出所有磁盘 命令: ll /dev/disk/by-path 提示:如果无法确 ...
- RxJava + Retrofit 的实际应用场景
关于 RxJava Retrofit 很多篇文章都有详细的说明,在这里我想分享一个具体的使用案例,在我的开源项目 就看天气 里的实际应用.也希望跟大家探讨如何优雅的使用. 准备 项目中用到的依赖: c ...
- adaptive hash index
An optimization for InnoDB tables that can speed up lookups using = and IN operators, by constructin ...
- 用audacity制作循环背景音乐
用audacity制作循环音乐: 1,将音乐前面一段剪切,粘贴到结尾. 2,选择包含接缝的一个区间,然后 菜单->效果->crossfade clips.