php短視頻源碼之瀑布流分割線左右間距問(wèn)題及解決代碼
下面展示一下非瀑布流的item布局情況,每個(gè)item的高度都是一樣的,所以
他的index就是左右左右,position所對(duì)應(yīng)的itemView就是準(zhǔn)確的,
左0,右1,左2,右3,以此類(lèi)推…
這時(shí)候我們可以用下面代碼即可成功設(shè)置分割線。
/**
* 第一列設(shè)置左邊距為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是根據(jù)列的高度哪個(gè)小而來(lái)加載下一個(gè)position在哪里,
上面瀑布流圖我們可以看到,左0,右1 之后,2到右邊了,那是因?yàn)?
第二列的高度小于第一列的高度,所以就加載到第二列,以此類(lèi)推,
下面的高度可以說(shuō)就是隨機(jī)展示的,誰(shuí)也不知道接下來(lái)要怎么判斷分割線,
所以用上面的那些代碼是行不通的,
大招來(lái)了,我們可以通過(guò)StaggeredGridLayoutManager.LayoutParams
里的getSpanIndex()來(lái)判斷,這個(gè)方法不管你高度怎樣,
他都是左右左右開(kāi)始排列的,如下代碼。
StaggeredGridLayoutManager.LayoutParams params = (StaggeredGridLayoutManager.LayoutParams) view.getLayoutParams();
/**
* 根據(jù)params.getSpanIndex()來(lái)判斷左右邊確定分割線
* 第一列設(shè)置左邊距為space,右邊距為space/2 (第二列反之)
*/
if (params.getSpanIndex() % 2 == 0) {
outRect.left = space;
outRect.right = space / 2;
} else {
outRect.left = space / 2;
outRect.right = space;
}
到此這篇關(guān)于php短視頻源碼之瀑布流分割線左右間距問(wèn)題及解決代碼的文章就介紹到這了,更多相關(guān)php短視頻源碼內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
php+html5實(shí)現(xiàn)無(wú)刷新圖片上傳教程
這篇文章主要為大家介紹了php+html5實(shí)現(xiàn)無(wú)刷新圖片上傳教程,一種全新的上傳圖片的方式,利用html5的FileReader讀取圖片文件,感興趣的小伙伴們可以參考一下2016-01-01
php實(shí)現(xiàn)生成帶二維碼圖片并強(qiáng)制下載功能
這篇文章主要介紹了php生成帶二維碼圖片并強(qiáng)制下載實(shí)現(xiàn)代碼,需要的朋友可以參考下2018-02-02
ThinkPHP調(diào)用百度翻譯類(lèi)實(shí)現(xiàn)在線翻譯
這篇文章主要介紹了ThinkPHP調(diào)用百度翻譯類(lèi)實(shí)現(xiàn)在線翻譯,需要的朋友可以參考下2014-06-06
php 遍歷目錄,生成目錄下每個(gè)文件的md5值并寫(xiě)入到結(jié)果文件中
本文章向大家介紹php遍歷目錄,生成目錄下每個(gè)文件的md5值并寫(xiě)入到結(jié)果文件中,需要的朋友可以參考下2016-12-12
phpcms手機(jī)內(nèi)容頁(yè)面添加上一篇和下一篇
本文給大家分享的是在phpcms中的手機(jī)內(nèi)容詳情頁(yè)里添加上一篇和下一篇的方法,十分的簡(jiǎn)單實(shí)用,有需要的小伙伴可以參考下。2015-06-06

