php短视频源码之瀑布流分割线左右间距问题及解决代码

admin3年前PHP教程60

下面展示一下非瀑布流的item布局情况,每个item的高度都是一样的,所以
他的index就是左右左右,position所对应的itemView就是准确的,
左0,右1,左2,右3,以此类推…
这时候我们可以用下面代码即可成功设置分割线。

2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
/**
 
* 第一列设置左边距为space,右边距为space/2 (第二列反之)
 
*/
 
if (parent.getChildLayoutPosition(view) % 2 == 0) {
 
outRect.left = space;
 
outRect.right = space / 2;
 
} else {
 
outRect.left = space / 2;
 
outRect.right = space;
 
}

瀑布流的position是根据列的高度哪个小而来加载下一个position在哪里,
上面瀑布流图我们可以看到,左0,右1 之后,2到右边了,那是因为
第二列的高度小于第一列的高度,所以就加载到第二列,以此类推,
下面的高度可以说就是随机展示的,谁也不知道接下来要怎么判断分割线,
所以用上面的那些代码是行不通的,
大招来了,我们可以通过StaggeredGridLayoutManager.LayoutParams
里的getSpanIndex()来判断,这个方法不管你高度怎样,
他都是左右左右开始排列的,如下代码。

2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
StaggeredGridLayoutManager.LayoutParams params = (StaggeredGridLayoutManager.LayoutParams) view.getLayoutParams();
/**
* 根据params.getSpanIndex()来判断左右边确定分割线
* 第一列设置左边距为space,右边距为space/2 (第二列反之)
 
*/
 
if (params.getSpanIndex() % 2 == 0) {
 
outRect.left = space;
 
outRect.right = space / 2;
 
} else {
 
outRect.left = space / 2;
 
outRect.right = space;
 
}

到此这篇关于php短视频源码之瀑布流分割线左右间距问题及解决代码的文章就介绍到这了,更多相关php短视频源码内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

免责声明:本文内容来自用户上传并发布,站点仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。请核实广告和内容真实性,谨慎使用。

相关文章

东莞高防服务器租用应该怎么选择

东莞高防服务器租用应该怎么选择?选择东莞高防服务器租用时,以下几个因素需要考虑:防护能力:高防服务器主要是为了防止各种网络攻击,包括DDoS攻击、CC攻击、UDP攻击等等。因此,在选择时需要注意服务器...

盘点使用境外多IP服务器的几个好处

企业需要不断发展,不断开拓销售的途径,在互联网高速发展的情况下,线上业务慢慢的占据了很多企业的大部分业务,线上平台的建设和完善也慢慢成为企业的重点,独立的境外服务器以及独立的IP也开始成为企业的首选,...

台湾服务器共享带宽还是独享带宽好用

台湾服务器共享带宽还是独享带宽好用?台湾服务器的带宽类型包括共享带宽和独享带宽。哪种更适合你取决于你的具体需求和预算。共享带宽是指多个用户共享同一个带宽资源,这意味着带宽可能会有一些限制,并且在高峰期...

海外多ip服务器被恶意攻击了怎么办

海外多ip服务器被恶意攻击的解决方法:1、对网站攻击进行评估,根据具体的攻击进行具体的防御;2、建立镜像网站,将网站的客户引到镜像网站中去;3、建立预防DDoS策略,并定期对服务器进行查毒杀毒,能降低...

台湾大带宽服务器租用多少钱

台湾大带宽服务器租用多少钱?台湾大带宽服务器的租用费用会受到多种因素的影响,以下是一些主要的因素:带宽大小:服务器租用的带宽大小是影响费用的主要因素之一。带宽越大,服务器的租用费用越高。硬件配置:服务...

详解PHP如何读取大文件

目录衡量成功我们有什么选择?逐行读取文件文件之间的管道其他流过滤器自定义流创建自定义协议和过滤器总结衡量成功唯一能确认我们对代码所做改进是否有效的方式是:衡量一个糟糕的情况,然后对比我们已经应用改进后...