迷茫2017-04-17 17:43:49
這個解決方案有很多,我會選擇點擊展開將剩餘的item全部加到adapter,在更新下就行了。收起的話就把那些需要收起的item從adapter中移除就行了。這裡需要對最後那個item的點擊事件做額外的處理。
天蓬老师2017-04-17 17:43:49
取得這gridView的layoutParams,然後設定其高度,類似這樣子
ViewGroup.LayoutParams layoutParams = gridView.getLayoutParams();
layoutParams.height = 300;
一般這樣的效果都會做一個過渡動畫,原理是一樣的,只是將一次做的事情分多次做(將高度逐漸變大)
怪我咯2017-04-17 17:43:49
其實這種效果並不需要用GridView做,按你的描述來看並沒有滑動的需求,所以可以用GridLayout做,點擊之後remove最後一個然後添加完後再add收起就好了- -不復雜邏輯也清楚。
怪我咯2017-04-17 17:43:49
我們公司實現這個需求用的是設定一個標記屬性,用來記錄展開收起狀態,重寫adapter的getItemCount()的回傳值,根據這個標記屬性,當收起時回傳8,展開是回傳總數目