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中移除就行了。這里需要對最后那個(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. mysql - redis和mongodb怎么結(jié)合2. JSP頁面導(dǎo)入問題類文件放在WEB-INF / classes中的包中3. python - type函數(shù)問題4. pbootcms程序的詳情頁模板想要實(shí)現(xiàn)多版塊展現(xiàn),說不清楚,我截圖在里面5. ddos - apache日志很多其它網(wǎng)址,什么情況?6. html5和Flash對抗是什么情況?7. php安裝lpsolve 擴(kuò)展求助8. 第6行的$_GET[’F’]沒有定義啊?求問一下是什么意思?9. 老師 我是一個(gè)沒有學(xué)過php語言的準(zhǔn)畢業(yè)生 我希望您能幫我一下10. Thinkphp 下載地址找不到了?
