android瀑布流怎么显示

android瀑布流怎么显示,第1张

今天介绍一个瀑布流控件:PinterestLikeAdapterVie

使用方法类似于ListView,下面是我使用该控件实现一个显示系统图片的简单应用:

xml中:

android:layout_width="match_parent"

android:layout_height="match_parent"

android:background="#000000"

>

<com.huewu.pla.lib.multicolumnlistview< p="">

xmlns:pla="http://schemas.android.com/apk/res-auto"

android:background="#000000"

android:id="@+id/list"

android:layout_width="match_parent"

android:layout_height="match_parent"

pla:plaColumnNumber="3"

pla:plaLandscapeColumnNumber="3"

>

plaColumnNumber表示显示多少列,plaLandscapeColumnNumber表示横屏下显示多少列。

但与StaggeredGridView 不同的是他没有提供设置item之间间隙大小的属性,这个可以通过在item的xml中设置一个padding来解决。

看看是不是打包错了?

有些需要的类,不在library里,把你的common toolkit下了下来,里面有些可以配过去,有些又配不了.

分享是好的,但希望能检查一下是否能用再上传吧,谢谢

在RecyclerView中,我们可以通过LayoutManager控制其布局的显示方式,实现横向ListView、GridView、瀑布流等常见效果.

首先我们来看一看RecyclerView.LayoutManager的继承结构:

RecyclerView.LayoutManager是一个抽象类,其直接的实现类有LinearLayoutManager、StaggeredGridLayoutManager,而LinearLayoutManager也有一个子类GridLayoutManager.

1)通过LinearLayoutManager:我们可以实现横向、纵向的列表效果

2)通过GridLayoutManager:我们可以实现像GridView一样的网格布局

3)通过StaggeredGridLayoutManager:我们可以实现瀑布流的效果

纵向ListView效果

item的布局中TextView的android:layout_width,android:layout_height对调

ok,就是这么简单,看一下效果图

是不是很简单!!!

item的布局:

效果图:

关于分隔线的原理在 RecyclerView系列之二:添加分隔线 中已经介绍了,今天这里介绍GridLayoutManager的分隔线.

先上效果图:

Activity中:

如果仅仅是把layoutManager 改变为StaggeredGridLayoutManager,item的高度还是固定一样的话,效果和网格布局就一样了

要实现瀑布流的效果,每个item的高度当然要不一样了

这里需要注意的是,虽然是随机高度,但是不要直接在onBindViewHolder设置随机高度,像下面这样:

因为在复用时会调用onBindViewHolder()方法填充数据,如果在这里重新给item设置高度,会出现滑动过程中item高度一直变换、item还会交换位置的问题.


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/bake/11612743.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-17
下一篇 2023-05-17

发表评论

登录后才能评论

评论列表(0条)

保存