文章詳情頁
android - 如何用GridView實現展開和收起的功能
瀏覽:118日期: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. 老哥們求助啊2. javascript - vue-router怎么不能實現跳轉呢3. python - 模擬滑動驗證碼,有源碼,求解4. 就一臺服務器,mysql數據庫想實現自動備份,如何設計?5. 在MySQL中新增字段時,報錯??6. npm鏡像站全新上線7. css3 - 請問一下在移動端CSS布局布局中通常需要用到哪些元素,屬性?8. java - 想使用別人項目中maven引入的jar包,就是那個.class文件,要怎么操作?9. java - 安卓電視盒子取得了root權限但是不能安裝第三方應用,請問該怎么辦?10. html5 - angularjs中外部模版加載無法使用
排行榜
