android - 如何用GridView實(shí)現(xiàn)展開和收起的功能
問題描述
這是默認(rèn)收起來的,點(diǎn)擊展開實(shí)現(xiàn)顯示全部內(nèi)容:
這該如何實(shí)現(xiàn)?????
問題解答
回答1:這個(gè)解決方案有很多,我會(huì)選擇點(diǎn)擊展開將剩余的item全部加到adapter,在更新下就行了。收起的話就把那些需要收起的item從adapter中移除就行了。這里需要對(duì)最后那個(gè)item的點(diǎn)擊事件做額外的處理。
回答2:獲取這gridView的layoutParams,然后設(shè)置其高度,類似這樣子ViewGroup.LayoutParams layoutParams = gridView.getLayoutParams();layoutParams.height = 300;
一般這樣的效果都會(huì)做一個(gè)過渡動(dòng)畫,原理是一樣的,只是將一次做的事情分多次做(將高度逐漸變大)
回答3:其實(shí)這種效果并不需要用GridView做,按你的描述來看并沒有滑動(dòng)的需求,所以可以用GridLayout做,點(diǎn)擊之后remove最后一個(gè) 然后添加完后再 add收起就好了- -不復(fù)雜 邏輯也清楚。
回答4:我們公司實(shí)現(xiàn)這個(gè)需求用的是設(shè)置一個(gè)標(biāo)記屬性,用于記錄展開收起狀態(tài),重寫adapter的getItemCount()的返回值,根據(jù)這個(gè)標(biāo)記屬性,當(dāng)收起時(shí)返回8,展開是返回總數(shù)目
相關(guān)文章:
1. phpstudy8.1沒集成mysql-front2. 關(guān)docker hub上有些鏡像的tag被標(biāo)記““This image has vulnerabilities””3. docker鏡像push報(bào)錯(cuò)4. Docker for Mac 創(chuàng)建的dnsmasq容器連不上/不工作的問題5. node.js - mongodb查找子對(duì)象的名稱為某個(gè)值的對(duì)象的方法6. 前端 - @media query 使用出現(xiàn)的問題?7. javascript - QQ第三方登錄的問題8. html5 - datatables 加載不出來數(shù)據(jù)。9. javascript - 在 model里定義的 引用表模型時(shí),model為undefined。10. docker 下面創(chuàng)建的IMAGE 他們的 ID 一樣?這個(gè)是怎么回事????

網(wǎng)公網(wǎng)安備