android - 如何用GridView實(shí)現(xiàn)展開和收起的功能
問(wèn)題描述
這是默認(rèn)收起來(lái)的,點(diǎn)擊展開實(shí)現(xiàn)顯示全部?jī)?nèi)容:
這該如何實(shí)現(xiàn)?????
問(wè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è)過(guò)渡動(dòng)畫,原理是一樣的,只是將一次做的事情分多次做(將高度逐漸變大)
回答3:其實(shí)這種效果并不需要用GridView做,按你的描述來(lái)看并沒(méi)有滑動(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. 在windows下安裝docker Toolbox 啟動(dòng)Docker Quickstart Terminal 失敗!2. docker - 如何修改運(yùn)行中容器的配置3. dockerfile - [docker build image失敗- npm install]4. docker不顯示端口映射呢?5. nignx - docker內(nèi)nginx 80端口被占用6. docker綁定了nginx端口 外部訪問(wèn)不到7. angular.js - angular內(nèi)容過(guò)長(zhǎng)展開收起效果8. 為什么我ping不通我的docker容器呢???9. debian - docker依賴的aufs-tools源碼哪里可以找到啊?10. docker - 各位電腦上有多少個(gè)容器啊?容器一多,自己都搞混了,咋辦呢?
