主頁 > 知識(shí)庫 > php短視頻源碼之瀑布流分割線左右間距問題及解決代碼

php短視頻源碼之瀑布流分割線左右間距問題及解決代碼

熱門標(biāo)簽:團(tuán)購網(wǎng)站 服務(wù)器配置 Linux服務(wù)器 電子圍欄 Mysql連接數(shù)設(shè)置 阿里云 銀行業(yè)務(wù) 科大訊飛語音識(shí)別系統(tǒng)

下面展示一下非瀑布流的item布局情況,每個(gè)item的高度都是一樣的,所以
他的index就是左右左右,position所對(duì)應(yīng)的itemView就是準(zhǔn)確的,
左0,右1,左2,右3,以此類推…
這時(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è)小而來加載下一個(gè)position在哪里,
上面瀑布流圖我們可以看到,左0,右1 之后,2到右邊了,那是因?yàn)?
第二列的高度小于第一列的高度,所以就加載到第二列,以此類推,
下面的高度可以說就是隨機(jī)展示的,誰也不知道接下來要怎么判斷分割線,
所以用上面的那些代碼是行不通的,
大招來了,我們可以通過StaggeredGridLayoutManager.LayoutParams
里的getSpanIndex()來判斷,這個(gè)方法不管你高度怎樣,
他都是左右左右開始排列的,如下代碼。

StaggeredGridLayoutManager.LayoutParams params = (StaggeredGridLayoutManager.LayoutParams) view.getLayoutParams();
/**
* 根據(jù)params.getSpanIndex()來判斷左右邊確定分割線
* 第一列設(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短視頻源碼之瀑布流分割線左右間距問題及解決代碼的文章就介紹到這了,更多相關(guān)php短視頻源碼內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • PHP+Jquery與ajax相結(jié)合實(shí)現(xiàn)下拉淡出瀑布流效果【無需插件】
  • PHP結(jié)合Jquery和ajax實(shí)現(xiàn)瀑布流特效
  • thinkPHP實(shí)現(xiàn)瀑布流的方法

標(biāo)簽:江蘇 衡水 衢州 萍鄉(xiāng) 大理 棗莊 廣元 蚌埠

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《php短視頻源碼之瀑布流分割線左右間距問題及解決代碼》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266