搜尋

首頁  >  問答  >  主體

android - 如何用GridView实现展开和收起的功能


这是默认收起来的,点击展开实现显示全部内容:


这该如何实现?????

高洛峰高洛峰2886 天前840

全部回覆(4)我來回復

  • 迷茫

    迷茫2017-04-17 17:43:49

    這個解決方案有很多,我會選擇點擊展開將剩餘的item全部加到adapter,在更新下就行了。收起的話就把那些需要收起的item從adapter中移除就行了。這裡需要對最後那個item的點擊事件做額外的處理。

    回覆
    0
  • 天蓬老师

    天蓬老师2017-04-17 17:43:49

    取得這gridView的layoutParams,然後設定其高度,類似這樣子
    ViewGroup.LayoutParams layoutParams = gridView.getLayoutParams();
    layoutParams.height = 300;

    一般這樣的效果都會做一個過渡動畫,原理是一樣的,只是將一次做的事情分多次做(將高度逐漸變大)

    回覆
    0
  • 怪我咯

    怪我咯2017-04-17 17:43:49

    其實這種效果並不需要用GridView做,按你的描述來看並沒有滑動的需求,所以可以用GridLayout做,點擊之後remove最後一個然後添加完後再add收起就好了- -不復雜邏輯也清楚。

    回覆
    0
  • 怪我咯

    怪我咯2017-04-17 17:43:49

    我們公司實現這個需求用的是設定一個標記屬性,用來記錄展開收起狀態,重寫adapter的getItemCount()的回傳值,根據這個標記屬性,當收起時回傳8,展開是回傳總數目

    回覆
    0
  • 取消回覆