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

admin3年前PHP教程88

下面展示一下非瀑布流的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短视频源码内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

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

相关文章

GPU服务器有什么用途?泉州GPU服务器适合哪些行业购买?

目前GPU服务器主要应用于科学计算、深度学习、高性能计算、视频编解码等不同场景领域。它为应用程序提供非凡的加速计算能力,将应用程序的计算密集型工作负载转移到GPU上。一、GPU服务器是什么?GPU即图...

php中大厂的面试题整理

找工作遇到各种各样的面试已经屡见不鲜了,虽然出的内容是五花八门,但是基本上所有面试题还是基于最核心的思想,就是一些最基础的内容使用,只有根基深厚了,才可以在往上助苗成长,本章的核心内容,就是大家最关切...

thinkphp的钩子的两种配置和两种调用方法

thinkphp的钩子行为类是一个比较难以理解的问题,网上有很多写thinkphp钩子类的文章,我也是根据网上的文章来设置thinkphp的钩子行为的,但根据这些网上的文章,我在设置的过程中,尝试了十...

香港高防服务器价格贵吗受什么影响

香港高防服务器价格贵吗?受什么影响?香港高防服务器的价格相对来说可能会比一般的服务器价格略高一些,这是因为它们提供了更强大的网络安全保护和更高的网络质量。此外,香港的物价也比较高,这也是导致香港高防服...

PHP使用三种方法实现数据采集

什么叫采集?就是使用PHP程序,把其他网站中的信息抓取到我们自己的数据库中、网站中。PHP制作采集的技术从底层的socket到高层的文件操作函数,一共有3种方法可以实现采集。1. 使用socket技术...

显卡服务器一般是用来做什么香港显卡服务器适合哪些行业购买

服务器是计算机的一种,它比普通计算机运行更快、负载更高、价格更贵。服务器在网络中为其它客户机(如PC机、智能手机、ATM等终端甚至是火车系统等大型设备)提供计算或者应用服务。服务器具有高速的CPU运算...