Recyclerview之瀑布流分割線左右間距均等問題

瀑布流左右分割線均等設(shè)置岗宣!?

在網(wǎng)上看了很多例子热某,都是什么萬能分割線之類的,但是真正用到瀑布流的分割線卻會出現(xiàn)不一致的情況园细。

原因:?

下面展示一下非瀑布流的item布局情況:

上面那種布局相當(dāng)于網(wǎng)格布局惦积,每個(gè)item的高度都是一樣的,所以?

他的index就是左右左右猛频,position所對應(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;

? ? ? ? }

希望對各位小伙伴有所幫助!我順便貼出我的簡單小例子代碼:

https://github.com/pengShow/rv_staggeredgridlayout

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末蜓洪,一起剝皮案震驚了整個(gè)濱河市纤勒,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌隆檀,老刑警劉巖摇天,帶你破解...
    沈念sama閱讀 222,807評論 6 518
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異恐仑,居然都是意外死亡泉坐,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,284評論 3 399
  • 文/潘曉璐 我一進(jìn)店門裳仆,熙熙樓的掌柜王于貴愁眉苦臉地迎上來腕让,“玉大人,你說我怎么就攤上這事歧斟〈客瑁” “怎么了?”我有些...
    開封第一講書人閱讀 169,589評論 0 363
  • 文/不壞的土叔 我叫張陵构捡,是天一觀的道長液南。 經(jīng)常有香客問我,道長勾徽,這世上最難降的妖魔是什么滑凉? 我笑而不...
    開封第一講書人閱讀 60,188評論 1 300
  • 正文 為了忘掉前任,我火速辦了婚禮喘帚,結(jié)果婚禮上畅姊,老公的妹妹穿的比我還像新娘。我一直安慰自己吹由,他們只是感情好若未,可當(dāng)我...
    茶點(diǎn)故事閱讀 69,185評論 6 398
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著倾鲫,像睡著了一般粗合。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上乌昔,一...
    開封第一講書人閱讀 52,785評論 1 314
  • 那天隙疚,我揣著相機(jī)與錄音,去河邊找鬼磕道。 笑死供屉,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播伶丐,決...
    沈念sama閱讀 41,220評論 3 423
  • 文/蒼蘭香墨 我猛地睜開眼悼做,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了哗魂?” 一聲冷哼從身側(cè)響起肛走,我...
    開封第一講書人閱讀 40,167評論 0 277
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎录别,沒想到半個(gè)月后羹与,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,698評論 1 320
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡庶灿,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,767評論 3 343
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了吃衅。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片往踢。...
    茶點(diǎn)故事閱讀 40,912評論 1 353
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖徘层,靈堂內(nèi)的尸體忽然破棺而出峻呕,到底是詐尸還是另有隱情,我是刑警寧澤趣效,帶...
    沈念sama閱讀 36,572評論 5 351
  • 正文 年R本政府宣布瘦癌,位于F島的核電站,受9級特大地震影響跷敬,放射性物質(zhì)發(fā)生泄漏讯私。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,254評論 3 336
  • 文/蒙蒙 一西傀、第九天 我趴在偏房一處隱蔽的房頂上張望斤寇。 院中可真熱鬧,春花似錦拥褂、人聲如沸娘锁。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,746評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽莫秆。三九已至,卻和暖如春悔详,著一層夾襖步出監(jiān)牢的瞬間镊屎,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,859評論 1 274
  • 我被黑心中介騙來泰國打工伟端, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留杯道,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 49,359評論 3 379
  • 正文 我出身青樓,卻偏偏與公主長得像党巾,于是被迫代替她去往敵國和親萎庭。 傳聞我的和親對象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,922評論 2 361

推薦閱讀更多精彩內(nèi)容

  • RecyclerView是support:recyclerview-v7中提供的控件齿拂,最低兼容到android 3...
    8ba406212441閱讀 730評論 0 0
  • RecyclerView在項(xiàng)目開發(fā)中使用的頻率還是相當(dāng)高的驳规,平時(shí)在網(wǎng)上看到文章大體都有介紹,總感覺有些欠缺署海,最近空...
    lainuo閱讀 1,168評論 0 3
  • 問答題47 /72 常見瀏覽器兼容性問題與解決方案吗购? 參考答案 (1)瀏覽器兼容問題一:不同瀏覽器的標(biāo)簽?zāi)J(rèn)的外補(bǔ)...
    _Yfling閱讀 13,762評論 1 92
  • 想要追上最新的編程潮流嗎?想要導(dǎo)入最新的 Flux 編程方法嗎砸狞?這篇文章將手把手的帶你無痛進(jìn)入 Flux 與 Rx...
    _WZ_閱讀 868評論 0 1
  • 2017年10月14日下午三點(diǎn)半捻勉。 我在緯二路實(shí)驗(yàn)小學(xué)南側(cè)的陽光教育集團(tuán)教室參加了由于懷鋒老師主講的《讓孩...
    yuzhongxinhe閱讀 326評論 1 1