文章詳情頁
android - 如何用GridView實現展開和收起的功能
瀏覽:305日期:2024-09-03 10:21:04
問題描述
這是默認收起來的,點擊展開實現顯示全部內容:
這該如何實現?????
問題解答
回答1:這個解決方案有很多,我會選擇點擊展開將剩余的item全部加到adapter,在更新下就行了。收起的話就把那些需要收起的item從adapter中移除就行了。這里需要對最后那個item的點擊事件做額外的處理。
回答2:獲取這gridView的layoutParams,然后設置其高度,類似這樣子ViewGroup.LayoutParams layoutParams = gridView.getLayoutParams();layoutParams.height = 300;
一般這樣的效果都會做一個過渡動畫,原理是一樣的,只是將一次做的事情分多次做(將高度逐漸變大)
回答3:其實這種效果并不需要用GridView做,按你的描述來看并沒有滑動的需求,所以可以用GridLayout做,點擊之后remove最后一個 然后添加完后再 add收起就好了- -不復雜 邏輯也清楚。
回答4:我們公司實現這個需求用的是設置一個標記屬性,用于記錄展開收起狀態,重寫adapter的getItemCount()的返回值,根據這個標記屬性,當收起時返回8,展開是返回總數目
上一條:android - AsyncHttpClient上傳圖片和文字數據,直接失敗了,但是onFailure方法中的bytes輸不出東西,為何?下一條:android的ListView點擊事件問題?
相關文章:
1. javascript - immutable配合react提升性能?2. javascript - sublime快鍵鍵問題3. css - 寫頁面遇到個布局問題,求大佬們幫解答,在線等,急!~4. 配置Apache時,添加對PHP的支持時語法錯誤5. phpstudy8.1支持win11系統嗎?6. javascript - nodejs關于進程間發送句柄的一點疑問7. javascript - 移動端上不能實現拖拽布局嗎?8. 實現bing搜索工具urlAPI提交9. Apache 已經把網站根目錄的改為allow from all了,但是服務器還是不能訪問?10. vue.js - Vue 如何像Angular.js watch 一樣監聽數據變化
排行榜

網公網安備