瀑布流布局原理(瀑布流是什么)

本文目录
瀑布流是什么
瀑布流,又称瀑布流式布局。是比较流行的一种网站页面布局,视觉表现为参差不齐的多栏布局,随着页面滚动条向下滚动,这种布局还会不断加载数据块并附加至当前尾部。最早采用此布局的网站是Pinterest,逐渐在国内流行开来。国内大多数清新站基本为这类风格。
特点:
1、琳琅满目:整版以图片为主,大小不一的图片按照一定的规律排列。
2、唯美:图片的风格以唯美的图片为主。
3、操作简单:在浏览网站的时候只需要轻轻滑动一下鼠标滚轮,一切的美妙的图片精彩便可呈现在你面前。
有一个软件叫瀑布流。
求教 android瀑布流该如何实现
网上关于android瀑布流的例子一大堆,但是很多都是很复杂,对于新手来说有一定的难度。
原理很简单,就是异步下载图片,把图片addView到ScrollView(因为可以上下一直拖动)中,你需要屏幕显示几列就在ScrollView中放置几个LinearLayout,
下面我就一个简单的例子来讲解android瀑布流的用法,样子很丑就不上图了。。
1、在xml布局文件:很简单就是
2、在java代码中:
先声明几个变量,其中imagePathStr数组用来存图片的链接
private LinearLayout leftLayout;
private LinearLayout rightLayout;
private String imagePathStr = { “http://www.cf69.com/Upfiles/BeyondPic/2010-08/20108175740983313.jpg“,
“http://www.syfff.com/UploadFile/pic/2008122163204.jpg“, “http://pic.newssc.org/0/10/34/32/10343297_564251.jpg“,
“http://ent.hangzhou.com.cn/images/20090311/zym2009031323.jpg“, “http://a4.att.hudong.com/86/60/01300000013093119087608457965.jpg“,
“http://file.sdteacher.gov.cn/upload/gz0901/images/0907/22/110437191.jpg“,
“http://www.fun9.cn/uploadfile/starpic/uploadpics/200910/20091008090155126.jpg“,
“http://img3.yxlady.com/yl/UploadFiles_5361/20110820/20110820120609469.jpg“,
其次,在oncreate()中采用异步加载图片的方法把获取到的Drawable添加到左右两栏的LinearLayout中:
iOS 瀑布流的布局中如何重写返回页眉页脚的方法
一直以来都想研究瀑布流的具体实现方法(起因是因为一则男女程序员应聘的笑话,做程序的朋友应该都知道)。最近学习到了瀑布流的实现方法,瀑布流的实现方式有多种,这里应用collectionView来重写其UICollectionViewLayout进行布局是最为简单方便的。但再用其布局之前必须了解其布局原理。
在这里笔者挑出其中较为重要的几个方法来进行讲解。
1.- (BOOL)shouldInvalidateLayoutForBoundsChange:(CGRect)newBounds 当collectionView视图位置有新改变(发生移动)时调用,其若返回YES则重新布局
2.- (void)prepareLayout 准备好布局时调用。此时collectionView所有属性都已确定。读者在这里可以将collectionView当做画布,有了画布后,我们便可以在其上面画出每个item
3.- (NSArray *)layoutAttributesForElementsInRect:(CGRect)rect 返回collectionView视图中所有视图的属性(UICollectionViewLayoutAttributes)数组
4.- (UICollectionViewLayoutAttributes *)layoutAttributesForItemAtIndexPath:(NSIndexPath *)indexPath 返回indexPath对应item的属性
5.- (CGSize)collectionViewContentSize 设置collectionView的可显示范围
这些方法中最重要的便是3,4方法,在3方法中返回所有视图属性数组,并根据这些属性进行布局,而4方法则返回每个item的属性,我们则在这里设置每个item的属性(主要是frame),就可以让collectionView按照我们的意愿进行布局了!(在这里我们不需要用到1方法,若item属性根据滑动改变,此时就需要随时进行布局改变)
附上出处链接:http://www.tools138.com/create/article/20150924/020025635.html

更多文章:
易语言网页api接口怎么调用(易语言,怎么读取网页json的api)
2026年10月11日 08:00
majority of(the majority of 和 a majority of的区别以及用法例句)
2026年10月11日 07:40
another time(another time和other time的区别)
2026年10月11日 05:00








