这是默认收起来的,点击展开实现显示全部内容:
这该如何实现?????
拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...
這個解決方案有很多,我會選擇點擊展開將剩餘的item全部加到adapter,在更新下就行了。收起的話就把那些需要收起的item從adapter中移除就行了。這裡需要對最後那個item的點擊事件做額外的處理。
取得這gridView的layoutParams,然後設定其高度,類似這樣子ViewGroup.LayoutParams layoutParams = gridView.getLayoutParams();layoutParams.height = 300;
一般這樣的效果都會做一個過渡動畫,原理是一樣的,只是將一次做的事情分多次做(將高度逐漸變大)
其實這種效果並不需要用GridView做,按你的描述來看並沒有滑動的需求,所以可以用GridLayout做,點擊之後remove最後一個然後添加完後再add收起就好了- -不復雜邏輯也清楚。
我們公司實現這個需求用的是設定一個標記屬性,用來記錄展開收起狀態,重寫adapter的getItemCount()的回傳值,根據這個標記屬性,當收起時回傳8,展開是回傳總數目
這個解決方案有很多,我會選擇點擊展開將剩餘的item全部加到adapter,在更新下就行了。收起的話就把那些需要收起的item從adapter中移除就行了。這裡需要對最後那個item的點擊事件做額外的處理。
取得這gridView的layoutParams,然後設定其高度,類似這樣子
ViewGroup.LayoutParams layoutParams = gridView.getLayoutParams();
layoutParams.height = 300;
一般這樣的效果都會做一個過渡動畫,原理是一樣的,只是將一次做的事情分多次做(將高度逐漸變大)
其實這種效果並不需要用GridView做,按你的描述來看並沒有滑動的需求,所以可以用GridLayout做,點擊之後remove最後一個然後添加完後再add收起就好了- -不復雜邏輯也清楚。
我們公司實現這個需求用的是設定一個標記屬性,用來記錄展開收起狀態,重寫adapter的getItemCount()的回傳值,根據這個標記屬性,當收起時回傳8,展開是回傳總數目