RecyclerView通過GridLayoutManager實(shí)現(xiàn)多樣式布局

今天來給大家介紹recyclerview關(guān)于gridlayoutmanager的用法,廢話不多說,上效果圖:

![P2Y]J)Q`0G%6RA6QXEWSHA.png

我們知道recyclerview實(shí)現(xiàn)GridView效果只需配置一下參數(shù)就行了

GridLayoutManager layoutManage = new GridLayoutManager(getContext(), 2);
recycerView.setLayoutManager(layoutManage);

我們會注意到GridLayoutManager里邊有個setSpanSizeLookup方法,本篇的重點(diǎn)就是這個方法(這個方法具體意義大家可以網(wǎng)上搜索,會有很多相關(guān)介紹,以及通過它實(shí)現(xiàn)一些復(fù)雜的布局,再次不做過多討論)

 layoutManage.setSpanSizeLookup(new GridLayoutManager.SpanSizeLookup() {
             @Override
             public int getSpanSize(int position) {
                 return 0;
             }
         });

其實(shí)getSpanSize返回值就是控制每行有幾列的,根據(jù)這個思路我們不妨試試。因?yàn)閞ecyclerview填充數(shù)據(jù)是根據(jù)adapter實(shí)現(xiàn)的,我們就把給adapter的數(shù)據(jù)源同樣在setSpanSizeLookup這個方法里邊判斷一下不就行了嗎?
根據(jù)這個思路于是有了下面的代碼

   /**
     * 如果單個item顯示的字?jǐn)?shù)大于指定某個值就顯示一列  默認(rèn)2列
     */

     //設(shè)置item數(shù)據(jù)大于多少字只顯示一行  默認(rèn) 超過九個字的程度只顯示一列

     private static final int MAX = 9;


    private int setSpanSize(int position, List<TagBean> listEntities) {
        int count;
        if (listEntities.get(position).getTag_name().length() > MAX) {
            count = 2;
        } else {
            count = 1;
        }

        return count;
    }


    layoutManage.setSpanSizeLookup(new GridLayoutManager.SpanSizeLookup() {
                         @Override
                         public int getSpanSize(int position) {
                             return setSpanSize(position,list);
                         }
                     });

核心代碼就這么多,我們可以根據(jù)自己的需求隨意定制樣式

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 一、開篇距離上次寫文章已經(jīng)有段時間了,說實(shí)話真不知道最近在忙些什么,現(xiàn)在沉下心來把最近項(xiàng)目中遇到的問題記錄下來便于...
    lygttpod閱讀 121,101評論 19 106
  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 178,941評論 25 709
  • 又到了更新博文的時間了,最近在看一本很不錯的心理學(xué)書籍,名字叫做 《拖延心理學(xué)》,封面長下面這樣子 書的內(nèi)容主要是...
    ec95b5891948閱讀 57,890評論 38 472
  • 花兒盛開,總是惹人喜愛。 可誰想過,昨夜,它是怎樣的? 光鮮背后的故事不為人知,花也好人也罷。 在沒有盛開之...
    荒野里的牧人閱讀 330評論 0 0
  • 看了一本小說 還是那種會被許多人吐槽的惡俗劇情 內(nèi)容大概就是男女主大學(xué)相戀 而在畢業(yè)時候卻因?yàn)橐恍┰蚨a(chǎn)生誤會 ...
    我是九思閱讀 394評論 0 0

友情鏈接更多精彩內(nèi)容