文章詳情頁
android - 如何用GridView實現展開和收起的功能
瀏覽:166日期: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. Docker for Mac 創建的dnsmasq容器連不上/不工作的問題2. html5 - 為什么有的時候要在網頁中加偽元素3. html - Python2 BeautifulSoup 提取網頁中的表格數據及連接4. python - PyCharm里的一個文件不小心忽略了wx包5. html5 - css 這種六邊形的邊框怎么畫?6. html5 - javascript讀取自定義屬性的值,有的能夠取到,有的取不到怎么回事??7. 小白學python的問題 關于%d和%s的區別8. win10 Apache24+PHP8.0,Apache不能正常加載php.ini。9. javascript - 關于微信掃一掃的技術問題10. html5 - 請問利用font-face定義的字體怎么在canvas里應用?
排行榜
