文章詳情頁
android - 如何用GridView實現展開和收起的功能
瀏覽:127日期: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. WEB-INF / classes /與WEB-INF / lib / *。jar在類路徑優先級?2. javascript - js 寫一個正則 提取文本中的數據3. yii2中restful配置好后在nginx下報404錯誤4. javascript - 關于Lazyload遇到的問題5. 算法 - python 給定一個正整數a和一個包含任意個正整數的 列表 b,求所有<=a 的加法組合6. android 如何實現如圖中的鍵盤上的公式及edittext的內容展示呢7. ruby - gitlab托管,git clone 失敗?8. c++ - 如何正確的使用QWebEngineView?9. angular.js - react的redux和vue的vuex,angular呢10. java - 我在用Struts2上傳文件時,報以下錯誤怎么回事?
排行榜
